mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-15 05:01:13 +08:00
Modified Files:
ChangeLog objfiles.c objfiles.h symfile.c target.c main.c Makefile.in configure.in Added Files: os9kread.c os9kstab.c remote-os9k.c * os9kread.c: New file to read os9000 style symbo table. * os9kstab.c: new file to read os9000 style stabs. * remote-os9k.c: remote protocol talking to os9000 rombug monitor. * objfiles.c (find_pc_objfile): new function to search objfile from pc. * objfiles.c (objfile_relocate_data): new function to relocate data symbols in symbol table. * objfiles.h: Add two aux fields in struct objfile to handle multiple symbol table files situation like in os9000. * symfile.c: Change so 'symbol-file' command can handle multiple files. Also call target_link() to get relocation infos. * target.c (target_link): new function to get relocation info when a symbol file is requested to load. * main.c (quit_command): take out 'inferior_pid != 0' condition, because in cross mode there's no inferior pid, bit they need to be detached. Makefile.in: add os9kread.c os9kstab.c and .o's. configure.in: add i386os9k target. config/i386/i386os9k.mt: new add. config/i386/tm-i386os9k.h: new add.
This commit is contained in:
@ -1,3 +1,26 @@
|
|||||||
|
Tue Mar 1 14:56:14 1994 Kung Hsu (kung@mexican.cygnus.com)
|
||||||
|
|
||||||
|
* os9kread.c: New file to read os9000 style symbo table.
|
||||||
|
* os9kstab.c: new file to read os9000 style stabs.
|
||||||
|
* remote-os9k.c: remote protocol talking to os9000 rombug monitor.
|
||||||
|
* objfiles.c (find_pc_objfile): new function to search objfile
|
||||||
|
from pc.
|
||||||
|
* objfiles.c (objfile_relocate_data): new function to relocate
|
||||||
|
data symbols in symbol table.
|
||||||
|
* objfiles.h: Add two aux fields in struct objfile to handle
|
||||||
|
multiple symbol table files situation like in os9000.
|
||||||
|
* symfile.c: Change so 'symbol-file' command can handle multiple
|
||||||
|
files. Also call target_link() to get relocation infos.
|
||||||
|
* target.c (target_link): new function to get relocation info when
|
||||||
|
a symbol file is requested to load.
|
||||||
|
* main.c (quit_command): take out 'inferior_pid != 0' condition,
|
||||||
|
because in cross mode there's no inferior pid, bit they need to
|
||||||
|
be detached.
|
||||||
|
Makefile.in: add os9kread.c os9kstab.c and .o's.
|
||||||
|
configure.in: add i386os9k target.
|
||||||
|
config/i386/i386os9k.mt: new add.
|
||||||
|
config/i386/tm-i386os9k.h: new add.
|
||||||
|
|
||||||
Tue Mar 1 13:16:10 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
Tue Mar 1 13:16:10 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||||||
|
|
||||||
* config/sparc/tm-sun4sol2.h (IN_SIGTRAMP): Handle ucbsigvechandler.
|
* config/sparc/tm-sun4sol2.h (IN_SIGTRAMP): Handle ucbsigvechandler.
|
||||||
|
@ -178,7 +178,7 @@ CDEPS = $(XM_CDEPS) $(TM_CDEPS) $(NAT_CDEPS) \
|
|||||||
ADD_FILES = $(REGEX) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
|
ADD_FILES = $(REGEX) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
|
||||||
ADD_DEPS = $(REGEX1) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
|
ADD_DEPS = $(REGEX1) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
|
||||||
|
|
||||||
VERSION = 4.12.1
|
VERSION = 4.12.2
|
||||||
DIST=gdb
|
DIST=gdb
|
||||||
|
|
||||||
LINT=/usr/5bin/lint
|
LINT=/usr/5bin/lint
|
||||||
@ -305,7 +305,8 @@ SFILES = blockframe.c breakpoint.c buildsym.c c-exp.y c-lang.c \
|
|||||||
mem-break.c minsyms.c mipsread.c nlmread.c objfiles.c parse.c \
|
mem-break.c minsyms.c mipsread.c nlmread.c objfiles.c parse.c \
|
||||||
printcmd.c remote.c source.c stabsread.c stack.c symfile.c symmisc.c \
|
printcmd.c remote.c source.c stabsread.c stack.c symfile.c symmisc.c \
|
||||||
symtab.c target.c thread.c typeprint.c utils.c valarith.c valops.c \
|
symtab.c target.c thread.c typeprint.c utils.c valarith.c valops.c \
|
||||||
valprint.c values.c serial.c ser-unix.c mdebugread.c
|
valprint.c values.c serial.c ser-unix.c mdebugread.c os9kread.c \
|
||||||
|
os9kstab.c
|
||||||
|
|
||||||
# Files that are not source code, but need to go into
|
# Files that are not source code, but need to go into
|
||||||
# gdb-$(VERSION).tar.Z.
|
# gdb-$(VERSION).tar.Z.
|
||||||
@ -442,7 +443,7 @@ OBS = version.o main.o blockframe.o breakpoint.o findvar.o stack.o thread.o \
|
|||||||
dwarfread.o mipsread.o stabsread.o core.o c-lang.o ch-lang.o m2-lang.o \
|
dwarfread.o mipsread.o stabsread.o core.o c-lang.o ch-lang.o m2-lang.o \
|
||||||
complaints.o typeprint.o c-typeprint.o ch-typeprint.o m2-typeprint.o \
|
complaints.o typeprint.o c-typeprint.o ch-typeprint.o m2-typeprint.o \
|
||||||
c-valprint.o cp-valprint.o ch-valprint.o m2-valprint.o nlmread.o \
|
c-valprint.o cp-valprint.o ch-valprint.o m2-valprint.o nlmread.o \
|
||||||
serial.o mdebugread.o
|
serial.o mdebugread.o os9kread.o os9kstab.o
|
||||||
|
|
||||||
TSOBS = inflow.o
|
TSOBS = inflow.o
|
||||||
|
|
||||||
@ -1275,6 +1276,14 @@ mdebugread.o: mdebugread.c buildsym.h complaints.h $(bfd_h) $(defs_h) \
|
|||||||
$(expression_h) gdb-stabs.h $(gdbcore_h) $(gdbtypes_h) language.h \
|
$(expression_h) gdb-stabs.h $(gdbcore_h) $(gdbtypes_h) language.h \
|
||||||
objfiles.h partial-stab.h stabsread.h symfile.h $(symtab_h)
|
objfiles.h partial-stab.h stabsread.h symfile.h $(symtab_h)
|
||||||
|
|
||||||
|
os9kread.o: os9kread.c buildsym.h complaints.h $(bfd_h) $(def_h) \
|
||||||
|
$(expression_h) gdb-stabs.h $(gdbcore_h) $(gdbtypes_h) language.h \
|
||||||
|
objfiles.h partial-stab.h stabsread.h symfile.h $(symtab_h)
|
||||||
|
|
||||||
|
os9kstab.o: os9kstab.c $(bfd_h) $(INCLUDE_DIR)/aout/stab.def \
|
||||||
|
$(INCLUDE_DIR)/aout/stab_gnu.h buildsym.h complaints.h $(defs_h) \
|
||||||
|
$(gdbtypes_h) objfiles.h stabsread.h symfile.h $(symtab_h)
|
||||||
|
|
||||||
mem-break.o: mem-break.c $(defs_h)
|
mem-break.o: mem-break.c $(defs_h)
|
||||||
|
|
||||||
minsyms.o: minsyms.c $(bfd_h) $(defs_h) objfiles.h symfile.h \
|
minsyms.o: minsyms.c $(bfd_h) $(defs_h) objfiles.h symfile.h \
|
||||||
|
@ -59,6 +59,7 @@ i[34]86-*-sysv4*) gdb_host=i386v4 ;;
|
|||||||
i[34]86-*-unixware) gdb_host=i386v4 ;;
|
i[34]86-*-unixware) gdb_host=i386v4 ;;
|
||||||
i[34]86-*-sysv*) gdb_host=i386v ;;
|
i[34]86-*-sysv*) gdb_host=i386v ;;
|
||||||
i[34]86-*-isc*) gdb_host=i386v32 ;;
|
i[34]86-*-isc*) gdb_host=i386v32 ;;
|
||||||
|
i[34]86-*-os9k) gdb_host=i386os9k ;;
|
||||||
|
|
||||||
m680[01]0-sun-sunos3*) gdb_host=sun2os3 ;;
|
m680[01]0-sun-sunos3*) gdb_host=sun2os3 ;;
|
||||||
m680[01]0-sun-sunos4*) gdb_host=sun2os4 ;;
|
m680[01]0-sun-sunos4*) gdb_host=sun2os4 ;;
|
||||||
@ -199,6 +200,7 @@ i[34]86-*-elf*) gdb_target=i386v ;;
|
|||||||
i[34]86-*-aix*) gdb_target=i386aix ;;
|
i[34]86-*-aix*) gdb_target=i386aix ;;
|
||||||
i[34]86-*-bsd*) gdb_target=i386bsd ;;
|
i[34]86-*-bsd*) gdb_target=i386bsd ;;
|
||||||
i[34]86-*-netbsd*) gdb_target=i386bsd ;;
|
i[34]86-*-netbsd*) gdb_target=i386bsd ;;
|
||||||
|
i[34]86-*-os9k) gdb_target=i386os9k ;;
|
||||||
i[34]86-*-go32*) gdb_target=i386aout ;;
|
i[34]86-*-go32*) gdb_target=i386aout ;;
|
||||||
i[34]86-*-lynxos*) gdb_target=i386lynx
|
i[34]86-*-lynxos*) gdb_target=i386lynx
|
||||||
configdirs="${configdirs} gdbserver"
|
configdirs="${configdirs} gdbserver"
|
||||||
|
@ -2222,7 +2222,10 @@ quit_command (args, from_tty)
|
|||||||
char *args;
|
char *args;
|
||||||
int from_tty;
|
int from_tty;
|
||||||
{
|
{
|
||||||
if (inferior_pid != 0 && target_has_execution)
|
/* kung: inferior_pid may not exist in cross mode debugging,
|
||||||
|
I commented it out temporarily, if it does not cause other problem,
|
||||||
|
we should take it out permenantly. */
|
||||||
|
if (/*inferior_pid != 0 &&*/ target_has_execution)
|
||||||
{
|
{
|
||||||
if (attach_flag)
|
if (attach_flag)
|
||||||
{
|
{
|
||||||
@ -2239,9 +2242,13 @@ quit_command (args, from_tty)
|
|||||||
error ("Not confirmed.");
|
error ("Not confirmed.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* UDI wants this, to kill the TIP. */
|
||||||
|
target_close (1);
|
||||||
|
|
||||||
/* Save the history information if it is appropriate to do so. */
|
/* Save the history information if it is appropriate to do so. */
|
||||||
if (write_history_p && history_filename)
|
if (write_history_p && history_filename)
|
||||||
write_history (history_filename);
|
write_history (history_filename);
|
||||||
|
|
||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
116
gdb/objfiles.c
116
gdb/objfiles.c
@ -421,6 +421,21 @@ free_all_objfiles ()
|
|||||||
clear_symtab_users ();
|
clear_symtab_users ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct objfile *
|
||||||
|
find_pc_objfile(pc)
|
||||||
|
CORE_ADDR pc;
|
||||||
|
{
|
||||||
|
struct objfile *obj;
|
||||||
|
struct obj_section *s;
|
||||||
|
|
||||||
|
ALL_OBJFILES (obj)
|
||||||
|
for (s = obj->sections; s < obj->sections_end; s++)
|
||||||
|
{
|
||||||
|
if (s->addr <= pc && s->endaddr > pc) return obj;
|
||||||
|
}
|
||||||
|
return (struct objfile *)NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* Relocate OBJFILE to NEW_OFFSETS. There should be OBJFILE->NUM_SECTIONS
|
/* Relocate OBJFILE to NEW_OFFSETS. There should be OBJFILE->NUM_SECTIONS
|
||||||
entries in new_offsets. */
|
entries in new_offsets. */
|
||||||
void
|
void
|
||||||
@ -540,6 +555,107 @@ objfile_relocate (objfile, new_offsets)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Relocate OBJFILE to NEW_OFFSETS. There should be OBJFILE->NUM_SECTIONS
|
||||||
|
entries in new_offsets. */
|
||||||
|
void
|
||||||
|
objfile_relocate_data (objfile, new_offsets)
|
||||||
|
struct objfile *objfile;
|
||||||
|
struct section_offsets *new_offsets;
|
||||||
|
{
|
||||||
|
struct section_offsets *delta = (struct section_offsets *) alloca
|
||||||
|
(sizeof (struct section_offsets)
|
||||||
|
+ objfile->num_sections * sizeof (delta->offsets));
|
||||||
|
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
int something_changed = 0;
|
||||||
|
for (i = 0; i < objfile->num_sections; ++i)
|
||||||
|
{
|
||||||
|
if (i != SECT_OFF_DATA && i != SECT_OFF_BSS)
|
||||||
|
ANOFFSET (delta, i) = 0;
|
||||||
|
else
|
||||||
|
ANOFFSET (delta, i) = ANOFFSET(new_offsets, i)
|
||||||
|
- ANOFFSET (objfile->section_offsets, i);
|
||||||
|
if (ANOFFSET (delta, i) != 0)
|
||||||
|
something_changed = 1;
|
||||||
|
}
|
||||||
|
if (!something_changed)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* OK, get all the symtabs. */
|
||||||
|
{
|
||||||
|
struct symtab *s;
|
||||||
|
|
||||||
|
for (s = objfile->symtabs; s; s = s->next)
|
||||||
|
{
|
||||||
|
struct linetable *l;
|
||||||
|
struct blockvector *bv;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* Don't relocate a shared blockvector more than once. */
|
||||||
|
if (!s->primary)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
bv = BLOCKVECTOR (s);
|
||||||
|
for (i = 0; i < BLOCKVECTOR_NBLOCKS (bv); ++i)
|
||||||
|
{
|
||||||
|
struct block *b;
|
||||||
|
int j;
|
||||||
|
|
||||||
|
b = BLOCKVECTOR_BLOCK (bv, i);
|
||||||
|
BLOCK_START (b) += ANOFFSET (delta, s->block_line_section);
|
||||||
|
BLOCK_END (b) += ANOFFSET (delta, s->block_line_section);
|
||||||
|
|
||||||
|
for (j = 0; j < BLOCK_NSYMS (b); ++j)
|
||||||
|
{
|
||||||
|
struct symbol *sym = BLOCK_SYM (b, j);
|
||||||
|
/* The RS6000 code from which this was taken skipped
|
||||||
|
any symbols in STRUCT_NAMESPACE or UNDEF_NAMESPACE.
|
||||||
|
But I'm leaving out that test, on the theory that
|
||||||
|
they can't possibly pass the tests below. */
|
||||||
|
if ((SYMBOL_CLASS (sym) == LOC_LABEL
|
||||||
|
|| SYMBOL_CLASS (sym) == LOC_STATIC)
|
||||||
|
&& SYMBOL_SECTION (sym) >= 0)
|
||||||
|
{
|
||||||
|
SYMBOL_VALUE_ADDRESS (sym) +=
|
||||||
|
ANOFFSET (delta, SYMBOL_SECTION (sym));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
struct partial_symbol *psym;
|
||||||
|
|
||||||
|
for (psym = objfile->global_psymbols.list;
|
||||||
|
psym < objfile->global_psymbols.next;
|
||||||
|
psym++)
|
||||||
|
if (SYMBOL_SECTION (psym) >= 0)
|
||||||
|
SYMBOL_VALUE_ADDRESS (psym) += ANOFFSET (delta, SYMBOL_SECTION (psym));
|
||||||
|
for (psym = objfile->static_psymbols.list;
|
||||||
|
psym < objfile->static_psymbols.next;
|
||||||
|
psym++)
|
||||||
|
if (SYMBOL_SECTION (psym) >= 0)
|
||||||
|
SYMBOL_VALUE_ADDRESS (psym) += ANOFFSET (delta, SYMBOL_SECTION (psym));
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
struct minimal_symbol *msym;
|
||||||
|
ALL_OBJFILE_MSYMBOLS (objfile, msym)
|
||||||
|
if (SYMBOL_SECTION (msym) >= 0)
|
||||||
|
SYMBOL_VALUE_ADDRESS (msym) += ANOFFSET (delta, SYMBOL_SECTION (msym));
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < objfile->num_sections; ++i)
|
||||||
|
if (i == SECT_OFF_DATA || i == SECT_OFF_BSS)
|
||||||
|
ANOFFSET (objfile->section_offsets, i) = ANOFFSET (new_offsets, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Many places in gdb want to test just to see if we have any partial
|
/* Many places in gdb want to test just to see if we have any partial
|
||||||
symbols available. This function returns zero if none are currently
|
symbols available. This function returns zero if none are currently
|
||||||
available, nonzero otherwise. */
|
available, nonzero otherwise. */
|
||||||
|
@ -310,6 +310,9 @@ struct objfile
|
|||||||
struct obj_section
|
struct obj_section
|
||||||
*sections,
|
*sections,
|
||||||
*sections_end;
|
*sections_end;
|
||||||
|
|
||||||
|
/* two auxiliary fields, used to hold the fp of separate symbol files */
|
||||||
|
FILE *auxf1, *auxf2;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Defines for the objfile flag word. */
|
/* Defines for the objfile flag word. */
|
||||||
@ -370,6 +373,8 @@ extern void free_objfile PARAMS ((struct objfile *));
|
|||||||
extern void
|
extern void
|
||||||
free_all_objfiles PARAMS ((void));
|
free_all_objfiles PARAMS ((void));
|
||||||
|
|
||||||
|
extern struct objfile * find_pc_objfile PARAMS ((CORE_ADDR));
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
objfile_relocate PARAMS ((struct objfile *, struct section_offsets *));
|
objfile_relocate PARAMS ((struct objfile *, struct section_offsets *));
|
||||||
|
|
||||||
|
1659
gdb/os9kread.c
Normal file
1659
gdb/os9kread.c
Normal file
File diff suppressed because it is too large
Load Diff
2024
gdb/os9kstab.c
Normal file
2024
gdb/os9kstab.c
Normal file
File diff suppressed because it is too large
Load Diff
1181
gdb/remote-os9k.c
Normal file
1181
gdb/remote-os9k.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -48,7 +48,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Global variables owned by this file */
|
/* Global variables owned by this file */
|
||||||
|
CORE_ADDR text_relocation = 0; /* text_relocation */
|
||||||
int readnow_symbol_files; /* Read full symbols immediately */
|
int readnow_symbol_files; /* Read full symbols immediately */
|
||||||
|
|
||||||
struct complaint oldsyms_complaint = {
|
struct complaint oldsyms_complaint = {
|
||||||
@ -675,7 +675,23 @@ symbol_file_command (args, from_tty)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
char *p;
|
||||||
|
|
||||||
name = *argv;
|
name = *argv;
|
||||||
|
|
||||||
|
/* this is for rombug remote only, to get the text relocation by
|
||||||
|
using link command */
|
||||||
|
p = strrchr(name, '/');
|
||||||
|
if (p != NULL) p++;
|
||||||
|
else p = name;
|
||||||
|
|
||||||
|
target_link(p, &text_relocation);
|
||||||
|
|
||||||
|
if (text_relocation)
|
||||||
|
symbol_file_add (name, from_tty, (CORE_ADDR)text_relocation, 0, mapped, readnow);
|
||||||
|
else
|
||||||
|
symbol_file_add (name, from_tty, (CORE_ADDR)0, 1, mapped, readnow);
|
||||||
|
set_initial_language ();
|
||||||
}
|
}
|
||||||
argv++;
|
argv++;
|
||||||
}
|
}
|
||||||
@ -684,11 +700,6 @@ symbol_file_command (args, from_tty)
|
|||||||
{
|
{
|
||||||
error ("no symbol file name was specified");
|
error ("no symbol file name was specified");
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
symbol_file_add (name, from_tty, (CORE_ADDR)0, 1, mapped, readnow);
|
|
||||||
set_initial_language ();
|
|
||||||
}
|
|
||||||
do_cleanups (cleanups);
|
do_cleanups (cleanups);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -972,14 +983,23 @@ add_symbol_file_command (args, from_tty)
|
|||||||
left pointing at the remainder of the command line, which should
|
left pointing at the remainder of the command line, which should
|
||||||
be the address expression to evaluate. */
|
be the address expression to evaluate. */
|
||||||
|
|
||||||
if ((name == NULL) || (*args == '\000') )
|
if (name == NULL)
|
||||||
{
|
{
|
||||||
error ("add-symbol-file takes a file name and an address");
|
error ("add-symbol-file takes a file name");
|
||||||
}
|
}
|
||||||
name = tilde_expand (name);
|
name = tilde_expand (name);
|
||||||
make_cleanup (free, name);
|
make_cleanup (free, name);
|
||||||
|
|
||||||
text_addr = parse_and_eval_address (args);
|
if (*args != '\000')
|
||||||
|
{
|
||||||
|
text_addr = parse_and_eval_address (args);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
target_link(name, &text_addr);
|
||||||
|
if (text_addr == (CORE_ADDR)-1)
|
||||||
|
error("Don't know how to get text start location for this file");
|
||||||
|
}
|
||||||
|
|
||||||
/* FIXME-32x64: Assumes text_addr fits in a long. */
|
/* FIXME-32x64: Assumes text_addr fits in a long. */
|
||||||
if (!query ("add symbol table from file \"%s\" at text_addr = %s?\n",
|
if (!query ("add symbol table from file \"%s\" at text_addr = %s?\n",
|
||||||
@ -1078,10 +1098,12 @@ reread_symbols ()
|
|||||||
if (objfile->global_psymbols.list)
|
if (objfile->global_psymbols.list)
|
||||||
mfree (objfile->md, objfile->global_psymbols.list);
|
mfree (objfile->md, objfile->global_psymbols.list);
|
||||||
objfile->global_psymbols.list = NULL;
|
objfile->global_psymbols.list = NULL;
|
||||||
|
objfile->global_psymbols.next = NULL;
|
||||||
objfile->global_psymbols.size = 0;
|
objfile->global_psymbols.size = 0;
|
||||||
if (objfile->static_psymbols.list)
|
if (objfile->static_psymbols.list)
|
||||||
mfree (objfile->md, objfile->static_psymbols.list);
|
mfree (objfile->md, objfile->static_psymbols.list);
|
||||||
objfile->static_psymbols.list = NULL;
|
objfile->static_psymbols.list = NULL;
|
||||||
|
objfile->static_psymbols.next = NULL;
|
||||||
objfile->static_psymbols.size = 0;
|
objfile->static_psymbols.size = 0;
|
||||||
|
|
||||||
/* Free the obstacks for non-reusable objfiles */
|
/* Free the obstacks for non-reusable objfiles */
|
||||||
|
13
gdb/target.c
13
gdb/target.c
@ -710,6 +710,19 @@ target_detach (args, from_tty)
|
|||||||
(current_target->to_detach) (args, from_tty);
|
(current_target->to_detach) (args, from_tty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
target_link (modname, t_reloc)
|
||||||
|
char *modname;
|
||||||
|
CORE_ADDR *t_reloc;
|
||||||
|
{
|
||||||
|
if (STREQ(current_target->to_shortname, "rombug"))
|
||||||
|
{
|
||||||
|
(current_target->to_lookup_symbol) (modname, t_reloc);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
*t_reloc = (CORE_ADDR)-1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Look through the list of possible targets for a target that can
|
/* Look through the list of possible targets for a target that can
|
||||||
execute a run or attach command without any other data. This is
|
execute a run or attach command without any other data. This is
|
||||||
used to locate the default process stratum.
|
used to locate the default process stratum.
|
||||||
|
Reference in New Issue
Block a user