* i386bsd-tdep.c (i386bsd_init_abi): Set sigtramp_start and
authorMark Kettenis <kettenis@gnu.org>
Fri, 6 Sep 2002 20:44:23 +0000 (20:44 +0000)
committerMark Kettenis <kettenis@gnu.org>
Fri, 6 Sep 2002 20:44:23 +0000 (20:44 +0000)
sigtramp_end to i386bsd_sigtramp_start and i386bsd_sigtramp_end.
* i386nbsd-tdep.c (i386nbsd_init_abi): Set sigtramp_start and
sigtramp_end to NULL.
* config/i386/tm-fbsd.h (SIGTRAMP_START, SIGTRAMP_END): Remove
defines.
(i386bsd_sigtramp_start, i386_sigtramp_end): Remove prototypes.

gdb/ChangeLog
gdb/config/i386/tm-fbsd.h
gdb/i386bsd-tdep.c
gdb/i386nbsd-tdep.c

index 94ddd61cad2f4ea648b5a1b71ad59d4a20d89909..9ea4f1fdd778bdf5806d7acd4d758199d09af7d0 100644 (file)
@@ -1,5 +1,13 @@
 2002-09-06  Mark Kettenis  <kettenis@gnu.org>
 
+       * i386bsd-tdep.c (i386bsd_init_abi): Set sigtramp_start and
+       sigtramp_end to i386bsd_sigtramp_start and i386bsd_sigtramp_end.
+       * i386nbsd-tdep.c (i386nbsd_init_abi): Set sigtramp_start and
+       sigtramp_end to NULL.
+       * config/i386/tm-fbsd.h (SIGTRAMP_START, SIGTRAMP_END): Remove
+       defines.
+       (i386bsd_sigtramp_start, i386_sigtramp_end): Remove prototypes.
+
        * i386nbsd-tdep.c (i386nbsd_pc_in_sigtramp): Remove spurious
        whitespace.
 
index 1975a9b458bb88432d97757fb75a372df3c1955e..433ef849383943040d4294c521706058f3c9541f 100644 (file)
 #include <sys/param.h>
 #endif
 
-/* These defines allow the recognition of sigtramps as a function name
-   <sigtramp>.
-
-   FIXME: kettenis/2002-05-12: Of course these defines will have to go
-   if we go truly "multi-arch", but I don't know yet how to get rid of
-   them.  */
-
-#define SIGTRAMP_START(pc) i386bsd_sigtramp_start (pc)
-#define SIGTRAMP_END(pc) i386bsd_sigtramp_end (pc)
-extern CORE_ADDR i386bsd_sigtramp_start (CORE_ADDR pc);
-extern CORE_ADDR i386bsd_sigtramp_end (CORE_ADDR pc);
-
 #endif /* TM_FBSD_H */
index 368fa5631aee5b53acf3b7e18dc5336a132f7a2a..a76012368cec1708bcaa0daccdffd7f478a01769 100644 (file)
@@ -100,6 +100,10 @@ i386bsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
   set_gdbarch_pc_in_sigtramp (gdbarch, i386bsd_pc_in_sigtramp);
 
+  /* Allow the recognition of sigtramps as a function named <sigtramp>.  */
+  set_gdbarch_sigtramp_start (gdbarch, i386bsd_sigtramp_start);
+  set_gdbarch_sigtramp_end (gdbarch, i386bsd_sigtramp_end);
+
   /* Assume SunOS-style shared libraries.  */
   set_gdbarch_in_solib_call_trampoline (gdbarch,
                                        i386bsd_aout_in_solib_call_trampoline);
index c8e0d64ea2288f7730a1d57d333e6fe24cca08e0..4558a35d2c815f85777123f981fa79f6fcf31bf4 100644 (file)
@@ -251,6 +251,11 @@ i386nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
   /* NetBSD has different signal trampoline conventions.  */
   set_gdbarch_pc_in_sigtramp (gdbarch, i386nbsd_pc_in_sigtramp);
+  /* FIXME: kettenis/20020906: We should probably provide
+     NetBSD-specific versions of these functions if we want to
+     recognize signal trampolines that live on the stack.  */
+  set_gdbarch_sigtramp_start (gdbarch, NULL);
+  set_gdbarch_sigtramp_end (gdbarch, NULL);
 
   /* NetBSD uses -freg-struct-return by default.  */
   tdep->struct_return = reg_struct_return;