This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Multi-arch some more i386 SVR4 bits


I only have to get rid of CPLUS_MARKER now :-).

Committed.

Mark


Index: ChangeLog
from  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 '.'.

Index: i386-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/i386-tdep.c,v
retrieving revision 1.82
diff -u -p -r1.82 i386-tdep.c
--- i386-tdep.c 18 Aug 2002 17:18:45 -0000 1.82
+++ i386-tdep.c 23 Aug 2002 19:24:55 -0000
@@ -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"
@@ -1369,6 +1370,10 @@ i386_svr4_init_abi (struct gdbarch_info 
 
   /* 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);
Index: config/i386/tm-i386v4.h
===================================================================
RCS file: /cvs/src/src/gdb/config/i386/tm-i386v4.h,v
retrieving revision 1.7
diff -u -p -r1.7 tm-i386v4.h
--- config/i386/tm-i386v4.h 15 Aug 2002 18:49:52 -0000 1.7
+++ config/i386/tm-i386v4.h 23 Aug 2002 19:24:55 -0000
@@ -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 */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]