diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/config/i386/tm-i386v4.h | 11 | ||||
-rw-r--r-- | gdb/i386-tdep.c | 5 |
3 files changed, 20 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9532614..ea6156c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2002-08-23 Mark Kettenis <kettenis@gnu.org> + * i386-tdep.c: Include "objfiles.h". + (i386_svr4_init_abi): Set in_solib_call_trampoline and + skip_trampoline_code. + * config/i386/tm-i386v4.h: Don't include "config/tm-sysv4.h". + (CPLUS_MARKER): Define to '.'. + * linux-proc.c (struct linux_corefile_thread_data): Add num_notes member. (linux_corefile_thread_callback): Increase args->num_notes. diff --git a/gdb/config/i386/tm-i386v4.h b/gdb/config/i386/tm-i386v4.h index bfc4bb2..9363327 100644 --- a/gdb/config/i386/tm-i386v4.h +++ b/gdb/config/i386/tm-i386v4.h @@ -26,7 +26,14 @@ /* Pick up most of what we need from the generic i386 target include file. */ #include "i386/tm-i386.h" -/* Pick up more stuff from the generic SVR4 host include file. */ -#include "config/tm-sysv4.h" +/* It is unknown which, if any, SVR4 assemblers do not accept dollar signs + in identifiers. The default in G++ is to use dots instead, for all SVR4 + systems, so we make that our default also. FIXME: There should be some + way to get G++ to tell us what CPLUS_MARKER it is using, perhaps by + stashing it in the debugging information as part of the name of an + invented symbol ("gcc_cplus_marker$" for example). */ + +#undef CPLUS_MARKER +#define CPLUS_MARKER '.' #endif /* ifndef TM_I386V4_H */ diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 4230136..233049d 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -25,6 +25,7 @@ #include "frame.h" #include "inferior.h" #include "gdbcore.h" +#include "objfiles.h" #include "target.h" #include "floatformat.h" #include "symfile.h" @@ -1370,6 +1371,10 @@ i386_svr4_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) /* System V Release 4 uses ELF. */ i386_elf_init_abi (info, gdbarch); + /* System V Release 4 has shared libraries. */ + set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section); + set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); + /* FIXME: kettenis/20020511: Why do we override this function here? */ set_gdbarch_frame_chain_valid (gdbarch, generic_func_frame_chain_valid); |