* config/i386/tm-fbsd.h [!SVR4_SHARED_LIBS]
authorMark Kettenis <kettenis@gnu.org>
Sun, 30 Jun 2002 14:43:24 +0000 (14:43 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sun, 30 Jun 2002 14:43:24 +0000 (14:43 +0000)
(IN_SOLIB_CALL_TRAMPOLINE): Remove define.
* config/i386/tm-nbsdaout.h (IN_SOLIB_CALL_TRAMPOLINE): Remove
define.
* i386bsd-tdep.c: Include "arch-utils.h".
(i386bsd_aout_in_solib_call_trampoline): New function.
(i386bsd_init_abi): Set in_solib_call_trampoline to
i386bsd_aout_in_solib_call_trampoline.
(i386nbsdelf_init_abi, i386fbsd_init_abi): Set
in_solib_call_trampoline to generic_in_solib_call_trampoline.

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

index 0034e77a8cf67955e45bdbb69738a0ff73065c77..029b484923d7d918ef81deeb541ef01f322ffe30 100644 (file)
@@ -1,3 +1,16 @@
+2002-06-30  Mark Kettenis  <kettenis@gnu.org>
+
+       * config/i386/tm-fbsd.h [!SVR4_SHARED_LIBS]
+       (IN_SOLIB_CALL_TRAMPOLINE): Remove define.
+       * config/i386/tm-nbsdaout.h (IN_SOLIB_CALL_TRAMPOLINE): Remove
+       define.
+       * i386bsd-tdep.c: Include "arch-utils.h".
+       (i386bsd_aout_in_solib_call_trampoline): New function.
+       (i386bsd_init_abi): Set in_solib_call_trampoline to
+       i386bsd_aout_in_solib_call_trampoline.
+       (i386nbsdelf_init_abi, i386fbsd_init_abi): Set
+       in_solib_call_trampoline to generic_in_solib_call_trampoline.
+
 2002-06-28  Andrew Cagney  <ac131313@redhat.com>
 
        * macrotab.h: Do not include "obstack.h" or "bcache.h".
index 7d90c2ea19049163f4fe8ae0e843009afa0d8e4e..1975a9b458bb88432d97757fb75a372df3c1955e 100644 (file)
 extern CORE_ADDR i386bsd_sigtramp_start (CORE_ADDR pc);
 extern CORE_ADDR i386bsd_sigtramp_end (CORE_ADDR pc);
 
-/* Shared library support.  */
-
-#ifndef SVR4_SHARED_LIBS
-
-/* Return non-zero if we are in a shared library trampoline code stub.  */
-
-#define IN_SOLIB_CALL_TRAMPOLINE(pc, name) \
-  (name && !strcmp(name, "_DYNAMIC"))
-
-#endif /* !SVR4_SHARED_LIBS */
-
 #endif /* TM_FBSD_H */
index 8dde114cf82d017c39be65de707fea5bd2c0fde5..25325e1fe10cfdd5e527445a1c7ee1d941e91ed6 100644 (file)
@@ -23,8 +23,4 @@
 
 #include "i386/tm-nbsd.h"
 
-/* Return non-zero if we are in a shared library trampoline code stub. */
-#define IN_SOLIB_CALL_TRAMPOLINE(pc, name) \
-  (name && !strcmp(name, "_DYNAMIC"))
-
 #endif /* TM_NBSDAOUT_H */
index e6427b3ac9f7b67385d9291707ad5de14175ef9f..940f2ec66b84f589fc01382a35c6152165e224ee 100644 (file)
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include "defs.h"
+#include "arch-utils.h"
 #include "frame.h"
 #include "gdbcore.h"
 #include "regcache.h"
@@ -98,6 +99,16 @@ i386bsd_sigtramp_end (CORE_ADDR pc)
 }
 \f
 
+/* Support for shared libraries.  */
+
+/* Return non-zero if we are in a shared library trampoline code stub.  */
+
+int
+i386bsd_aout_in_solib_call_trampoline (CORE_ADDR pc, char *name)
+{
+  return (name && !strcmp (name, "_DYNAMIC"));
+}
+
 /* Traditional BSD (4.3 BSD, still used for BSDI and 386BSD).  */
 
 /* From <machine/signal.h>.  */
@@ -110,6 +121,10 @@ i386bsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
   set_gdbarch_pc_in_sigtramp (gdbarch, i386bsd_pc_in_sigtramp);
 
+  /* Assume SunOS-style shared libraries.  */
+  set_gdbarch_in_solib_call_trampoline (gdbarch,
+                                       i386bsd_aout_in_solib_call_trampoline);
+
   tdep->jb_pc_offset = 0;
 
   tdep->sigtramp_saved_pc = i386bsd_sigtramp_saved_pc;
@@ -155,6 +170,10 @@ i386nbsdelf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   /* But ELF-based.  */
   i386_elf_init_abi (info, gdbarch);
 
+  /* NetBSD ELF uses SVR4-style shared libraries.  */
+  set_gdbarch_in_solib_call_trampoline (gdbarch,
+                                       generic_in_solib_call_trampoline);
+
   /* NetBSD ELF uses -fpcc-struct-return by default.  */
   tdep->struct_return = pcc_struct_return;
 
@@ -193,6 +212,10 @@ i386fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
   /* Except that it uses ELF.  */
   i386_elf_init_abi (info, gdbarch);
+
+  /* FreeBSD ELF uses SVR4-style shared libraries.  */
+  set_gdbarch_in_solib_call_trampoline (gdbarch,
+                                       generic_in_solib_call_trampoline);
 }
 
 /* FreeBSD 4.0-RELEASE or later.  */