aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog3
-rw-r--r--gdb/elfread.c3
-rw-r--r--gdb/mdebugread.c11
-rw-r--r--gdb/minsyms.c9
-rw-r--r--gdb/nlmread.c2
-rw-r--r--gdb/paread.c2
-rw-r--r--gdb/solib.c22
-rw-r--r--gdb/xcoffread.c15
8 files changed, 39 insertions, 28 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a04c463..70b1791 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -13,6 +13,9 @@ Mon Dec 27 11:07:05 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* minsyms.c (prim_record_minimal_symbol_and_info): . . . to here.
* minsyms.c (prim_record_minimal_symbol): Call
prim_record_minimal_symbol_and_info rather than duplicating code.
+ * minsyms.c, symtab.h (prim_record_minimal_symbol{,_and_info}),
+ coffread.c (record_minimal_symbol),
+ xcoffread.c (RECORD_MINIMAL_SYMBOL), callers: Add objfile parameter.
Sun Dec 26 20:44:02 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 11a8c0e..9b5b34c 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -205,7 +205,8 @@ record_minimal_symbol_and_info (name, address, ms_type, info, objfile)
}
name = obsavestring (name, strlen (name), &objfile -> symbol_obstack);
- prim_record_minimal_symbol_and_info (name, address, ms_type, info, section);
+ prim_record_minimal_symbol_and_info (name, address, ms_type, info, section,
+ objfile);
}
/*
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index 92f3059..a1193c1 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -2161,7 +2161,7 @@ parse_partial_symbols (objfile, section_offsets)
ms_type = mst_unknown;
complain (&unknown_ext_complaint, name);
}
- prim_record_minimal_symbol (name, ext_in->asym.value, ms_type);
+ prim_record_minimal_symbol (name, ext_in->asym.value, ms_type, objfile);
}
/* Pass 3 over files, over local syms: fill in static symbols */
@@ -2333,7 +2333,8 @@ parse_partial_symbols (objfile, section_offsets)
/* I believe this is used only for file-local functions.
The comment in symconst.h ("load time only static procs")
isn't particularly clear on this point. */
- prim_record_minimal_symbol (name, sh.value, mst_file_text);
+ prim_record_minimal_symbol (name, sh.value, mst_file_text,
+ objfile);
/* FALLTHROUGH */
case stProc: /* Asm labels apparently */
@@ -2378,9 +2379,11 @@ parse_partial_symbols (objfile, section_offsets)
case stStatic: /* Variable */
if (sh.sc == scData || sh.sc == scSData || sh.sc == scRData)
- prim_record_minimal_symbol (name, sh.value, mst_file_data);
+ prim_record_minimal_symbol (name, sh.value, mst_file_data,
+ objfile);
else
- prim_record_minimal_symbol (name, sh.value, mst_file_bss);
+ prim_record_minimal_symbol (name, sh.value, mst_file_bss,
+ objfile);
class = LOC_STATIC;
break;
diff --git a/gdb/minsyms.c b/gdb/minsyms.c
index b45b4f4..31f20c3 100644
--- a/gdb/minsyms.c
+++ b/gdb/minsyms.c
@@ -292,21 +292,24 @@ init_minimal_symbol_collection ()
}
void
-prim_record_minimal_symbol (name, address, ms_type)
+prim_record_minimal_symbol (name, address, ms_type, objfile)
const char *name;
CORE_ADDR address;
enum minimal_symbol_type ms_type;
+ struct objfile *objfile;
{
- prim_record_minimal_symbol (name, address, ms_type, NULL, -1);
+ prim_record_minimal_symbol (name, address, ms_type, NULL, -1, objfile);
}
void
-prim_record_minimal_symbol_and_info (name, address, ms_type, info, section)
+prim_record_minimal_symbol_and_info (name, address, ms_type, info, section,
+ objfile)
const char *name;
CORE_ADDR address;
enum minimal_symbol_type ms_type;
char *info;
int section;
+ struct objfile *objfile;
{
register struct msym_bunch *new;
register struct minimal_symbol *msymbol;
diff --git a/gdb/nlmread.c b/gdb/nlmread.c
index f345503..2f0d771 100644
--- a/gdb/nlmread.c
+++ b/gdb/nlmread.c
@@ -89,7 +89,7 @@ record_minimal_symbol (name, address, ms_type, objfile)
struct objfile *objfile;
{
name = obsavestring (name, strlen (name), &objfile -> symbol_obstack);
- prim_record_minimal_symbol (name, address, ms_type);
+ prim_record_minimal_symbol (name, address, ms_type, objfile);
}
diff --git a/gdb/paread.c b/gdb/paread.c
index a7922f2..7c24fdd 100644
--- a/gdb/paread.c
+++ b/gdb/paread.c
@@ -81,7 +81,7 @@ record_minimal_symbol (name, address, ms_type, objfile)
struct objfile *objfile;
{
name = obsavestring (name, strlen (name), &objfile -> symbol_obstack);
- prim_record_minimal_symbol (name, address, ms_type);
+ prim_record_minimal_symbol (name, address, ms_type, objfile);
}
/*
diff --git a/gdb/solib.c b/gdb/solib.c
index 1b50615..854d6ea 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -326,7 +326,7 @@ solib_add_common_symbols (rtc_symp, objfile)
name = obsavestring (name, strlen (name),
&objfile -> symbol_obstack);
prim_record_minimal_symbol (name, inferior_rtc_nlist.n_value,
- mst_bss);
+ mst_bss, objfile);
}
free (origname);
}
@@ -442,7 +442,7 @@ look_for_base (fd, baseaddr)
mapped memory segment, so skip it. Also, if the fd corresponds
to the exec file, skip it as well. */
- if ((fd == -1) || fdmatch (fileno ((FILE *)(exec_bfd -> iostream)), fd))
+ if ((fd == -1) || fdmatch (fileno ((GDB_FILE *)(exec_bfd -> iostream)), fd))
{
return (0);
}
@@ -785,7 +785,7 @@ solib_add (arg_string, from_tty, target)
{
if (from_tty)
{
- printf ("Symbols already loaded for %s\n", so -> so_name);
+ printf_unfiltered ("Symbols already loaded for %s\n", so -> so_name);
}
}
else if (catch_errors
@@ -887,7 +887,7 @@ info_sharedlibrary_command (ignore, from_tty)
if (exec_bfd == NULL)
{
- printf ("No exec file.\n");
+ printf_unfiltered ("No exec file.\n");
return;
}
while ((so = find_solib (so)) != NULL)
@@ -896,23 +896,23 @@ info_sharedlibrary_command (ignore, from_tty)
{
if (!header_done)
{
- printf("%-12s%-12s%-12s%s\n", "From", "To", "Syms Read",
+ printf_unfiltered("%-12s%-12s%-12s%s\n", "From", "To", "Syms Read",
"Shared Object Library");
header_done++;
}
- printf ("%-12s",
+ printf_unfiltered ("%-12s",
local_hex_string_custom ((unsigned long) LM_ADDR (so),
"08l"));
- printf ("%-12s",
+ printf_unfiltered ("%-12s",
local_hex_string_custom ((unsigned long) so -> lmend,
"08l"));
- printf ("%-12s", so -> symbols_loaded ? "Yes" : "No");
- printf ("%s\n", so -> so_name);
+ printf_unfiltered ("%-12s", so -> symbols_loaded ? "Yes" : "No");
+ printf_unfiltered ("%s\n", so -> so_name);
}
}
if (so_list_head == NULL)
{
- printf ("No shared libraries loaded at this time.\n");
+ printf_unfiltered ("No shared libraries loaded at this time.\n");
}
}
@@ -1268,7 +1268,7 @@ solib_create_inferior_hook()
stop_signal = 0;
do
{
- target_resume (inferior_pid, 0, stop_signal);
+ target_resume (-1, 0, stop_signal);
wait_for_inferior ();
}
while (stop_signal != SIGTRAP);
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index 2ce0ce4..6e61e80 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -926,7 +926,7 @@ retrieve_traceback (abfd, textsec, cs, size)
/* Reading symbol table has to be fast! Keep the followings as macros, rather
than functions. */
-#define RECORD_MINIMAL_SYMBOL(NAME, ADDR, TYPE, ALLOCED, SECTION) \
+#define RECORD_MINIMAL_SYMBOL(NAME, ADDR, TYPE, ALLOCED, SECTION, OBJFILE) \
{ \
char *namestr; \
if (ALLOCED) \
@@ -937,7 +937,7 @@ retrieve_traceback (abfd, textsec, cs, size)
(ALLOCED) = 1; \
} \
prim_record_minimal_symbol_and_info (namestr, (ADDR), (TYPE), \
- (char *)NULL, (SECTION)); \
+ (char *)NULL, (SECTION), (OBJFILE)); \
misc_func_recorded = 1; \
}
@@ -1182,7 +1182,8 @@ read_xcoff_symtab (objfile, nsyms)
if (!misc_func_recorded) {
int alloced = 0;
RECORD_MINIMAL_SYMBOL (last_csect_name, last_csect_val,
- mst_text, alloced, last_csect_sec);
+ mst_text, alloced, last_csect_sec,
+ objfile);
}
@@ -1241,7 +1242,7 @@ read_xcoff_symtab (objfile, nsyms)
function_entry_point:
RECORD_MINIMAL_SYMBOL (cs->c_name, cs->c_value, mst_text,
- symname_alloced, cs->c_secnum);
+ symname_alloced, cs->c_secnum, objfile);
fcn_line_offset = main_aux->x_sym.x_fcnary.x_fcn.x_lnnoptr;
fcn_start_addr = cs->c_value;
@@ -1330,14 +1331,14 @@ function_entry_point:
prim_record_minimal_symbol_and_info
("<trampoline>", cs->c_value, mst_unknown,
- (char *)NULL, cs->c_secnum);
+ (char *)NULL, cs->c_secnum, objfile);
#else
/* record trampoline code entries as mst_unknown symbol. When we
lookup mst symbols, we will choose mst_text over mst_unknown. */
RECORD_MINIMAL_SYMBOL (cs->c_name, cs->c_value, mst_unknown,
- symname_alloced);
+ symname_alloced, objfile);
#endif
continue;
}
@@ -1361,7 +1362,7 @@ function_entry_point:
int alloced = 0;
RECORD_MINIMAL_SYMBOL (last_csect_name, last_csect_val,
- mst_text, alloced, last_csect_sec);
+ mst_text, alloced, last_csect_sec, objfile);
}
/* c_value field contains symnum of next .file entry in table