+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".
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 */
#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 */
Boston, MA 02111-1307, USA. */
#include "defs.h"
+#include "arch-utils.h"
#include "frame.h"
#include "gdbcore.h"
#include "regcache.h"
}
\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>. */
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;
/* 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;
/* 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. */