summaryrefslogtreecommitdiff
path: root/gdb/config
diff options
context:
space:
mode:
authorJason Thorpe <thorpej@netbsd.org>2002-05-22 03:59:55 +0000
committerJason Thorpe <thorpej@netbsd.org>2002-05-22 03:59:55 +0000
commit1f5dec98ed4da2cb359d55ef2fd8ecedd6b173b8 (patch)
tree9e169462404082cec074da43ec613dccdc0f1f52 /gdb/config
parent29906100002e261c4e372aef2993b497c7309fb3 (diff)
downloadgdb-1f5dec98ed4da2cb359d55ef2fd8ecedd6b173b8.tar.gz
* Makefile.in (armnbsd-tdep.o): Add solib-svr4.h and
nbsd-tdep.h to dependency list. * configure.host (arm*-*-netbsdelf*, arm*-*-netbsd*, i[3456]86-*-netbsdaout*, i[3456]86-*-netbsd*, m68*-*-netbsd*, ns32k-*-netbsd*, sparc-*-netbsdaout*, sparc-*-netbsd*): Use nbsdaout.mh and nbsdelf.mh consistently. * configure.tgt (i[3456]86-*-netbsd*, m68*-*-netbsd*, ns32k-*-netbsd*, sparc-*-netbsdelf*, sparc-*-netbsd*) Use nbsdaout.mt and nbsdelf.mh consistently. * armnbsd-tdep.c: Include nbsd-tdep.h and solib-svr4.h. (arm_netbsd_elf_init_abi): Use set_solib_svr4_fetch_link_map_offsets to set nbsd_ilp32_solib_svr4_fetch_link_map_offsets. * config/nm-nbsd.h: Garbage-collect SVR4_SHARED_LIBS. Move a.out shared library stuff from here... * config/nm-nbsdaout.h: ...to here. * config/tm-nbsd.h: Remove. * config/alpha/nm-nbsd.h (SVR4_SHARED_LIBS): Remove. * config/arm/nbsd.mh: Remove. * config/arm/nbsd.mt (TDEPFILES): Remove solib-sunos.o, add nbsd-tdep.o. * config/arm/nbsdaout.mh: New file. * config/arm/nbsdelf.mh: New file. * config/arm/nm-nbsdaout.h: New file. * config/i386/nbsd.mh: Remove. * config/i386/nbsd.mt: Remove. * config/i386/nbsdaout.mh: New file. * config/i386/nbsdaout.mt: New file. * config/i386/nbsdelf.mh (NAT_FILE): Use nm-nbsd.h. * config/i386/nbsdelf.mt (TM_FILE): Use tm-nbsd.h. * config/i386/nm-nbsd.h (REGISTER_U_ADDR, i386_register_u_addr): Remove. * config/i386/nm-nbsdaout.h: New file. * config/i386/nm-nbsdelf.h: Remove. * config/i386/tm-nbsd.h: Don't include config/tm-nbsd.h. (USE_STRUCT_CONVENTION): Remove. * config/i386/tm-nbsdaout.h: New file. * config/i386/tm-nbsdelf.h: Remove. * config/m68k/nbsd.mh: Remove. * config/m68k/nbsd.mt: Remove. * config/m68k/nbsdaout.mh: New file. * config/m68k/nbsdaout.mt: New file. * config/m68k/nm-nbsd.h: Use config/nm-nbsd.h. * config/m68k/nm-nbsdaout.h: New file. * config/m68k/tm-nbsd.h: Don't include config/tm-nbsd.h. (IN_SOLIB_CALL_TRAMPOLINE): Define. * config/ns32k/nbsd.mh: Remove. * config/ns32k/nbsd.mt: Remove. * config/ns32k/nbsdaout.mh: New file. * config/ns32k/nbsdaout.mt: New file. * config/ns32k/nm-nbsd.h: Include config/nm-nbsd.h. * config/ns32k/nm-nbsdaout.h: New file. * config/ns32k/tm-nbsd.h: Don't include config/tm-nbsd.h. (IN_SOLIB_CALL_TRAMPOLINE): Define. * config/powerpc/nm-nbsd.h: Include config/nm-nbsd.h. (SVR4_SHARED_LIBS): Remove. * config/powerpc/tm-nbsd.h: Dont' include config/tm-nbsd.h. * config/sparc/nbsd.mh: Remove. * config/sparc/nbsd.mt: Remove. * config/sparc/nbsdaout.mh: New file. * config/sparc/nbsdaout.mt: New file. * config/sparc/nbsdelf.mh (NAT_FILE): Use nm-nbsd.h. * config/sparc/nbsdelf.mt: New file. * config/sparc/nm-nbsdaout.h: New file. * config/sparc/nm-nbsdelf.h: Remove. * config/sparc/tm-nbsd.h: Don't include config/tm-nbsd.h. * config/sparc/tm-nbsdaout.h: New file.
Diffstat (limited to 'gdb/config')
-rw-r--r--gdb/config/alpha/nm-nbsd.h2
-rw-r--r--gdb/config/arm/nbsd.mt2
-rw-r--r--gdb/config/arm/nbsdaout.mh5
-rw-r--r--gdb/config/arm/nbsdelf.mh (renamed from gdb/config/arm/nbsd.mh)0
-rw-r--r--gdb/config/arm/nm-nbsdaout.h29
-rw-r--r--gdb/config/i386/nbsdaout.mh (renamed from gdb/config/i386/nbsd.mh)2
-rw-r--r--gdb/config/i386/nbsdaout.mt (renamed from gdb/config/i386/nbsd.mt)2
-rw-r--r--gdb/config/i386/nbsdelf.mh2
-rw-r--r--gdb/config/i386/nbsdelf.mt2
-rw-r--r--gdb/config/i386/nm-nbsd.h7
-rw-r--r--gdb/config/i386/nm-nbsdaout.h (renamed from gdb/config/i386/nm-nbsdelf.h)12
-rw-r--r--gdb/config/i386/tm-nbsd.h6
-rw-r--r--gdb/config/i386/tm-nbsdaout.h34
-rw-r--r--gdb/config/m68k/nbsdaout.mh (renamed from gdb/config/m68k/nbsd.mh)2
-rw-r--r--gdb/config/m68k/nbsdaout.mt (renamed from gdb/config/m68k/nbsd.mt)0
-rw-r--r--gdb/config/m68k/nm-nbsd.h7
-rw-r--r--gdb/config/m68k/nm-nbsdaout.h (renamed from gdb/config/i386/tm-nbsdelf.h)15
-rw-r--r--gdb/config/m68k/tm-nbsd.h5
-rw-r--r--gdb/config/nm-nbsd.h60
-rw-r--r--gdb/config/nm-nbsdaout.h72
-rw-r--r--gdb/config/ns32k/nbsdaout.mh (renamed from gdb/config/ns32k/nbsd.mh)2
-rw-r--r--gdb/config/ns32k/nbsdaout.mt (renamed from gdb/config/ns32k/nbsd.mt)0
-rw-r--r--gdb/config/ns32k/nm-nbsd.h2
-rw-r--r--gdb/config/ns32k/nm-nbsdaout.h30
-rw-r--r--gdb/config/ns32k/tm-nbsd.h11
-rw-r--r--gdb/config/powerpc/nm-nbsd.h6
-rw-r--r--gdb/config/powerpc/tm-nbsd.h1
-rw-r--r--gdb/config/sparc/nbsdaout.mh (renamed from gdb/config/sparc/nbsd.mh)2
-rw-r--r--gdb/config/sparc/nbsdaout.mt3
-rw-r--r--gdb/config/sparc/nbsdelf.mh2
-rw-r--r--gdb/config/sparc/nbsdelf.mt (renamed from gdb/config/sparc/nbsd.mt)0
-rw-r--r--gdb/config/sparc/nm-nbsdaout.h (renamed from gdb/config/sparc/nm-nbsdelf.h)13
-rw-r--r--gdb/config/sparc/tm-nbsd.h2
-rw-r--r--gdb/config/sparc/tm-nbsdaout.h (renamed from gdb/config/tm-nbsd.h)13
34 files changed, 234 insertions, 119 deletions
diff --git a/gdb/config/alpha/nm-nbsd.h b/gdb/config/alpha/nm-nbsd.h
index ef6ab313a6f..caf1c237cfb 100644
--- a/gdb/config/alpha/nm-nbsd.h
+++ b/gdb/config/alpha/nm-nbsd.h
@@ -22,8 +22,6 @@
#ifndef NM_NBSD_H
#define NM_NBSD_H
-#define SVR4_SHARED_LIBS
-
/* Get generic NetBSD native definitions. */
#include "config/nm-nbsd.h"
diff --git a/gdb/config/arm/nbsd.mt b/gdb/config/arm/nbsd.mt
index dad2717bfc8..94971369506 100644
--- a/gdb/config/arm/nbsd.mt
+++ b/gdb/config/arm/nbsd.mt
@@ -1,2 +1,2 @@
# Target: ARM running NetBSD
-TDEPFILES= arm-tdep.o armnbsd-tdep.o solib.o solib-svr4.o solib-sunos.o
+TDEPFILES= arm-tdep.o armnbsd-tdep.o solib.o solib-svr4.o nbsd-tdep.o
diff --git a/gdb/config/arm/nbsdaout.mh b/gdb/config/arm/nbsdaout.mh
new file mode 100644
index 00000000000..100e40b42bb
--- /dev/null
+++ b/gdb/config/arm/nbsdaout.mh
@@ -0,0 +1,5 @@
+# Host ARM running NetBSD
+NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o armnbsd-nat.o \
+ solib-sunos.o
+XM_FILE=xm-nbsd.h
+NAT_FILE=nm-nbsdaout.h
diff --git a/gdb/config/arm/nbsd.mh b/gdb/config/arm/nbsdelf.mh
index 481d5cc92a5..481d5cc92a5 100644
--- a/gdb/config/arm/nbsd.mh
+++ b/gdb/config/arm/nbsdelf.mh
diff --git a/gdb/config/arm/nm-nbsdaout.h b/gdb/config/arm/nm-nbsdaout.h
new file mode 100644
index 00000000000..3f7fee9de1a
--- /dev/null
+++ b/gdb/config/arm/nm-nbsdaout.h
@@ -0,0 +1,29 @@
+/* Native-dependent definitions for ARM running NetBSD, for GDB.
+ Copyright 1986, 1987, 1989, 1992, 1994, 1999 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef NM_NBSDAOUT_H
+#define NM_NBSDAOUT_H
+
+#include "arm/nm-nbsd.h"
+
+/* Get generic NetBSD a.out native definitions. */
+#include "config/nm-nbsdaout.h"
+
+#endif /* NM_NBSDAOUT_H */
diff --git a/gdb/config/i386/nbsd.mh b/gdb/config/i386/nbsdaout.mh
index bf957b58745..e52f38a5b21 100644
--- a/gdb/config/i386/nbsd.mh
+++ b/gdb/config/i386/nbsdaout.mh
@@ -3,4 +3,4 @@ NATDEPFILES= fork-child.o infptrace.o inftarg.o i386bsd-nat.o \
solib.o solib-sunos.o
XM_FILE= xm-nbsd.h
-NAT_FILE= nm-nbsd.h
+NAT_FILE= nm-nbsdaout.h
diff --git a/gdb/config/i386/nbsd.mt b/gdb/config/i386/nbsdaout.mt
index fc80608e01e..aa88957b9ea 100644
--- a/gdb/config/i386/nbsd.mt
+++ b/gdb/config/i386/nbsdaout.mt
@@ -1,3 +1,3 @@
# Target: Intel 386 running NetBSD
TDEPFILES= i386-tdep.o i387-tdep.o i386bsd-tdep.o i386nbsd-tdep.o corelow.o
-TM_FILE= tm-nbsd.h
+TM_FILE= tm-nbsdaout.h
diff --git a/gdb/config/i386/nbsdelf.mh b/gdb/config/i386/nbsdelf.mh
index d0cbe786d68..0d1c4d1badc 100644
--- a/gdb/config/i386/nbsdelf.mh
+++ b/gdb/config/i386/nbsdelf.mh
@@ -2,4 +2,4 @@
NATDEPFILES= fork-child.o infptrace.o inftarg.o i386bsd-nat.o \
solib.o solib-svr4.o solib-legacy.o
XM_FILE= xm-nbsd.h
-NAT_FILE= nm-nbsdelf.h
+NAT_FILE= nm-nbsd.h
diff --git a/gdb/config/i386/nbsdelf.mt b/gdb/config/i386/nbsdelf.mt
index e5cdc255677..fc80608e01e 100644
--- a/gdb/config/i386/nbsdelf.mt
+++ b/gdb/config/i386/nbsdelf.mt
@@ -1,3 +1,3 @@
# Target: Intel 386 running NetBSD
TDEPFILES= i386-tdep.o i387-tdep.o i386bsd-tdep.o i386nbsd-tdep.o corelow.o
-TM_FILE= tm-nbsdelf.h
+TM_FILE= tm-nbsd.h
diff --git a/gdb/config/i386/nm-nbsd.h b/gdb/config/i386/nm-nbsd.h
index f926f9bc273..2e5adb82b3d 100644
--- a/gdb/config/i386/nm-nbsd.h
+++ b/gdb/config/i386/nm-nbsd.h
@@ -1,5 +1,5 @@
/* Native-dependent definitions for Intel 386 running NetBSD, for GDB.
- Copyright 1986, 1987, 1989, 1992, 1994, 1996, 2000
+ Copyright 1986, 1987, 1989, 1992, 1994, 2000, 2002
Free Software Foundation, Inc.
This file is part of GDB.
@@ -25,9 +25,4 @@
/* Get generic NetBSD native definitions. */
#include "config/nm-nbsd.h"
-#define REGISTER_U_ADDR(addr, blockend, regno) \
- (addr) = i386_register_u_addr ((blockend),(regno));
-
-extern int i386_register_u_addr (int, int);
-
#endif /* NM_NBSD_H */
diff --git a/gdb/config/i386/nm-nbsdelf.h b/gdb/config/i386/nm-nbsdaout.h
index 1aee1c7fd60..dc8aac961c4 100644
--- a/gdb/config/i386/nm-nbsdelf.h
+++ b/gdb/config/i386/nm-nbsdaout.h
@@ -1,5 +1,5 @@
/* Native-dependent definitions for Intel 386 running NetBSD, for GDB.
- Copyright 1986, 1987, 1989, 1992, 1994, 2000
+ Copyright 1986, 1987, 1989, 1992, 1994, 1996, 2000
Free Software Foundation, Inc.
This file is part of GDB.
@@ -19,10 +19,12 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef NM_NBSDELF_H
-#define NM_NBSDELF_H
+#ifndef NM_NBSDAOUT_H
+#define NM_NBSDAOUT_H
-#define SVR4_SHARED_LIBS
#include "i386/nm-nbsd.h"
-#endif /* NM_NBSDELF_H */
+/* Get generic NetBSD a.out native definitions. */
+#include "config/nm-nbsdaout.h"
+
+#endif /* NM_NBSDAOUT_H */
diff --git a/gdb/config/i386/tm-nbsd.h b/gdb/config/i386/tm-nbsd.h
index 8f1295efe6e..b4fb7542830 100644
--- a/gdb/config/i386/tm-nbsd.h
+++ b/gdb/config/i386/tm-nbsd.h
@@ -25,12 +25,6 @@
#define HAVE_SSE_REGS
#include "i386/tm-i386.h"
-#include "config/tm-nbsd.h"
-
-extern use_struct_convention_fn i386nbsd_aout_use_struct_convention;
-#define USE_STRUCT_CONVENTION(gcc_p, type) \
- i386nbsd_aout_use_struct_convention(gcc_p, type)
-
#define JB_ELEMENT_SIZE sizeof(int) /* jmp_buf[_JBLEN] is array of ints */
#define JB_PC 0 /* Setjmp()'s return PC saved here */
diff --git a/gdb/config/i386/tm-nbsdaout.h b/gdb/config/i386/tm-nbsdaout.h
new file mode 100644
index 00000000000..95fe2e74a5b
--- /dev/null
+++ b/gdb/config/i386/tm-nbsdaout.h
@@ -0,0 +1,34 @@
+/* Macro definitions for i386 running under NetBSD.
+ Copyright 2000, 2002 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef TM_NBSDAOUT_H
+#define TM_NBSDAOUT_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"))
+
+extern use_struct_convention_fn i386nbsd_aout_use_struct_convention;
+#define USE_STRUCT_CONVENTION(gcc_p, type) \
+ i386nbsd_aout_use_struct_convention(gcc_p, type)
+
+#endif /* TM_NBSDAOUT_H */
diff --git a/gdb/config/m68k/nbsd.mh b/gdb/config/m68k/nbsdaout.mh
index 30c800abd9a..7ce279b332e 100644
--- a/gdb/config/m68k/nbsd.mh
+++ b/gdb/config/m68k/nbsdaout.mh
@@ -2,4 +2,4 @@
NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o m68knbsd-nat.o \
solib.o solib-sunos.o
XM_FILE= xm-nbsd.h
-NAT_FILE= nm-nbsd.h
+NAT_FILE= nm-nbsdaout.h
diff --git a/gdb/config/m68k/nbsd.mt b/gdb/config/m68k/nbsdaout.mt
index b6ac5a000e1..b6ac5a000e1 100644
--- a/gdb/config/m68k/nbsd.mt
+++ b/gdb/config/m68k/nbsdaout.mt
diff --git a/gdb/config/m68k/nm-nbsd.h b/gdb/config/m68k/nm-nbsd.h
index b73b0ef71e5..72c98895a78 100644
--- a/gdb/config/m68k/nm-nbsd.h
+++ b/gdb/config/m68k/nm-nbsd.h
@@ -18,5 +18,10 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+#ifndef NM_NBSD_H
+#define NM_NBSD_H
+
/* Get generic NetBSD native definitions. */
-#include "nm-nbsd.h"
+#include "config/nm-nbsd.h"
+
+#endif /* NM_NBSD_H */
diff --git a/gdb/config/i386/tm-nbsdelf.h b/gdb/config/m68k/nm-nbsdaout.h
index 4d802c5302d..cb755f0bed2 100644
--- a/gdb/config/i386/tm-nbsdelf.h
+++ b/gdb/config/m68k/nm-nbsdaout.h
@@ -1,5 +1,5 @@
-/* Macro definitions for i386 running under NetBSD.
- Copyright 2000 Free Software Foundation, Inc.
+/* Native-dependent definitions for Motorola m68k running NetBSD, for GDB.
+ Copyright 1996, 2002 Free Software Foundation, Inc.
This file is part of GDB.
@@ -18,11 +18,12 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef TM_NBSDELF_H
-#define TM_NBSDELF_H
+#ifndef NM_NBSDAOUT_H
+#define NM_NBSDAOUT_H
-#include "i386/tm-nbsd.h"
+#include "m68k/nm-nbsd.h"
-#undef USE_STRUCT_CONVENTION
+/* Get generic NetBSD a.out native definitions. */
+#include "config/nm-nbsdaout.h"
-#endif /* TM_NBSD_H */
+#endif /* NM_NBSDAOUT_H */
diff --git a/gdb/config/m68k/tm-nbsd.h b/gdb/config/m68k/tm-nbsd.h
index 354632a32f5..62f008c7249 100644
--- a/gdb/config/m68k/tm-nbsd.h
+++ b/gdb/config/m68k/tm-nbsd.h
@@ -37,7 +37,10 @@
#define SIGTRAMP_END(pc) (STACK_END_ADDR)
#include "m68k/tm-m68k.h"
-#include "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"))
extern use_struct_convention_fn m68knbsd_use_struct_convention;
#define USE_STRUCT_CONVENTION(gcc_p, type) \
diff --git a/gdb/config/nm-nbsd.h b/gdb/config/nm-nbsd.h
index 402f606fd26..5078c567968 100644
--- a/gdb/config/nm-nbsd.h
+++ b/gdb/config/nm-nbsd.h
@@ -25,63 +25,3 @@
#define ATTACH_DETACH
#include "solib.h" /* Support for shared libraries. */
-#if defined (SVR4_SHARED_LIBS)
-#include "elf/common.h" /* Additional ELF shared library info. */
-#endif
-
-#if !defined (SVR4_SHARED_LIBS)
-
-/* make structure definitions match up with those expected in solib.c */
-#define link_object sod
-#define lo_name sod_name
-#define lo_library sod_library
-#define lo_unused sod_reserved
-#define lo_major sod_major
-#define lo_minor sod_minor
-#define lo_next sod_next
-
-#define link_map so_map
-#define lm_addr som_addr
-#define lm_name som_path
-#define lm_next som_next
-#define lm_lop som_sod
-#define lm_lob som_sodbase
-#define lm_rwt som_write
-#define lm_ld som_dynamic
-#define lm_lpd som_spd
-
-#define link_dynamic_2 section_dispatch_table
-#define ld_loaded sdt_loaded
-#define ld_need sdt_sods
-#define ld_rules sdt_filler1
-#define ld_got sdt_got
-#define ld_plt sdt_plt
-#define ld_rel sdt_rel
-#define ld_hash sdt_hash
-#define ld_stab sdt_nzlist
-#define ld_stab_hash sdt_filler2
-#define ld_buckets sdt_buckets
-#define ld_symbols sdt_strings
-#define ld_symb_size sdt_str_sz
-#define ld_text sdt_text_sz
-#define ld_plt_sz sdt_plt_sz
-
-#define rtc_symb rt_symbol
-#define rtc_sp rt_sp
-#define rtc_next rt_next
-
-#define ld_debug so_debug
-#define ldd_version dd_version
-#define ldd_in_debugger dd_in_debugger
-#define ldd_sym_loaded dd_sym_loaded
-#define ldd_bp_addr dd_bpt_addr
-#define ldd_bp_inst dd_bpt_shadow
-#define ldd_cp dd_cc
-
-#define link_dynamic _dynamic
-#define ld_version d_version
-#define ldd d_debug
-#define ld_un d_un
-#define ld_2 d_sdt
-
-#endif
diff --git a/gdb/config/nm-nbsdaout.h b/gdb/config/nm-nbsdaout.h
new file mode 100644
index 00000000000..026f1ed8d50
--- /dev/null
+++ b/gdb/config/nm-nbsdaout.h
@@ -0,0 +1,72 @@
+/* Native-dependent definitions for NetBSD a.out.
+ Copyright 1994, 1996, 1999 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* make structure definitions match up with those expected in solib.c */
+#define link_object sod
+#define lo_name sod_name
+#define lo_library sod_library
+#define lo_unused sod_reserved
+#define lo_major sod_major
+#define lo_minor sod_minor
+#define lo_next sod_next
+
+#define link_map so_map
+#define lm_addr som_addr
+#define lm_name som_path
+#define lm_next som_next
+#define lm_lop som_sod
+#define lm_lob som_sodbase
+#define lm_rwt som_write
+#define lm_ld som_dynamic
+#define lm_lpd som_spd
+
+#define link_dynamic_2 section_dispatch_table
+#define ld_loaded sdt_loaded
+#define ld_need sdt_sods
+#define ld_rules sdt_filler1
+#define ld_got sdt_got
+#define ld_plt sdt_plt
+#define ld_rel sdt_rel
+#define ld_hash sdt_hash
+#define ld_stab sdt_nzlist
+#define ld_stab_hash sdt_filler2
+#define ld_buckets sdt_buckets
+#define ld_symbols sdt_strings
+#define ld_symb_size sdt_str_sz
+#define ld_text sdt_text_sz
+#define ld_plt_sz sdt_plt_sz
+
+#define rtc_symb rt_symbol
+#define rtc_sp rt_sp
+#define rtc_next rt_next
+
+#define ld_debug so_debug
+#define ldd_version dd_version
+#define ldd_in_debugger dd_in_debugger
+#define ldd_sym_loaded dd_sym_loaded
+#define ldd_bp_addr dd_bpt_addr
+#define ldd_bp_inst dd_bpt_shadow
+#define ldd_cp dd_cc
+
+#define link_dynamic _dynamic
+#define ld_version d_version
+#define ldd d_debug
+#define ld_un d_un
+#define ld_2 d_sdt
diff --git a/gdb/config/ns32k/nbsd.mh b/gdb/config/ns32k/nbsdaout.mh
index e39c657a4de..8cf47816a1e 100644
--- a/gdb/config/ns32k/nbsd.mh
+++ b/gdb/config/ns32k/nbsdaout.mh
@@ -2,4 +2,4 @@
NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o ns32knbsd-nat.o \
solib.o solib-sunos.o
XM_FILE= xm-nbsd.h
-NAT_FILE= nm-nbsd.h
+NAT_FILE= nm-nbsdaout.h
diff --git a/gdb/config/ns32k/nbsd.mt b/gdb/config/ns32k/nbsdaout.mt
index 14d37f9a40f..14d37f9a40f 100644
--- a/gdb/config/ns32k/nbsd.mt
+++ b/gdb/config/ns32k/nbsdaout.mt
diff --git a/gdb/config/ns32k/nm-nbsd.h b/gdb/config/ns32k/nm-nbsd.h
index c2c81b7203f..4e1e13b9e3e 100644
--- a/gdb/config/ns32k/nm-nbsd.h
+++ b/gdb/config/ns32k/nm-nbsd.h
@@ -23,7 +23,7 @@
#define NM_NBSD_H
/* Get generic NetBSD native definitions. */
-#include "nm-nbsd.h"
+#include "config/nm-nbsd.h"
#if 0
#define FLOAT_INFO { extern ns32k_float_info(); ns32k_float_info(); }
diff --git a/gdb/config/ns32k/nm-nbsdaout.h b/gdb/config/ns32k/nm-nbsdaout.h
new file mode 100644
index 00000000000..aed3c7f3562
--- /dev/null
+++ b/gdb/config/ns32k/nm-nbsdaout.h
@@ -0,0 +1,30 @@
+/* Native-dependent definitions for ns32k running NetBSD, for GDB.
+ Copyright 1986, 1987, 1989, 1992, 1994, 2000, 2002
+ Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef NM_NBSDAOUT_H
+#define NM_NBSDAOUT_H
+
+#include "ns32k/nm-nbsd.h"
+
+/* Get generic NetBSD native definitions. */
+#include "config/nm-nbsdaout.h"
+
+#endif /* NM_NBSDAOUT_H */
diff --git a/gdb/config/ns32k/tm-nbsd.h b/gdb/config/ns32k/tm-nbsd.h
index 4766d61dca2..3965e5d85da 100644
--- a/gdb/config/ns32k/tm-nbsd.h
+++ b/gdb/config/ns32k/tm-nbsd.h
@@ -19,6 +19,9 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+#ifndef TM_NBSD_H
+#define TM_NBSD_H
+
/* Override number of expected traps from sysv. */
#define START_INFERIOR_TRAPS_EXPECTED 2
@@ -26,9 +29,9 @@
#include "ns32k/tm-umax.h"
-/* Generic NetBSD definitions. */
-
-#include "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"))
/* Saved Pc. Get it from sigcontext if within sigtramp. */
@@ -78,3 +81,5 @@
#define REGISTER_BYTE(N) (((N) < LP0_REGNUM? (N)\
: ((N) - LP0_REGNUM) & 1? (N) - 1 \
: ((N) - LP0_REGNUM + FP0_REGNUM)) * 4)
+
+#endif /* TM_NBSD_H */
diff --git a/gdb/config/powerpc/nm-nbsd.h b/gdb/config/powerpc/nm-nbsd.h
index 0ff53094e0b..5de6c9a0d21 100644
--- a/gdb/config/powerpc/nm-nbsd.h
+++ b/gdb/config/powerpc/nm-nbsd.h
@@ -1,5 +1,5 @@
/* Native-dependent definitions for PowerPC running NetBSD ELF, for GDB.
- Copyright 2000 Free Software Foundation, Inc.
+ Copyright 2000, 2002 Free Software Foundation, Inc.
This file is part of GDB.
@@ -21,9 +21,7 @@
#ifndef NM_NBSD_H
#define NM_NBSD_H
-#define SVR4_SHARED_LIBS
-
/* Get generic NetBSD native definitions. */
-#include "nm-nbsd.h"
+#include "config/nm-nbsd.h"
#endif
diff --git a/gdb/config/powerpc/tm-nbsd.h b/gdb/config/powerpc/tm-nbsd.h
index ae3418f4fdb..2b7acb8b4b8 100644
--- a/gdb/config/powerpc/tm-nbsd.h
+++ b/gdb/config/powerpc/tm-nbsd.h
@@ -22,6 +22,5 @@
#define TM_NBSD_H
#include "powerpc/tm-ppc-eabi.h"
-#include "tm-nbsd.h"
#endif /* TM_NBSD_H */
diff --git a/gdb/config/sparc/nbsd.mh b/gdb/config/sparc/nbsdaout.mh
index bf645922d33..ecb69e473da 100644
--- a/gdb/config/sparc/nbsd.mh
+++ b/gdb/config/sparc/nbsdaout.mh
@@ -2,5 +2,5 @@
NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o sparc-nat.o \
solib.o solib-sunos.o
XM_FILE= xm-nbsd.h
-NAT_FILE= nm-nbsd.h
+NAT_FILE= nm-nbsdaout.h
HOST_IPC=-DBSD_IPC
diff --git a/gdb/config/sparc/nbsdaout.mt b/gdb/config/sparc/nbsdaout.mt
new file mode 100644
index 00000000000..c603f363fb5
--- /dev/null
+++ b/gdb/config/sparc/nbsdaout.mt
@@ -0,0 +1,3 @@
+# Target: Sun 4 or Sparcstation, running NetBSD
+TDEPFILES= sparc-tdep.o
+TM_FILE= tm-nbsdaout.h
diff --git a/gdb/config/sparc/nbsdelf.mh b/gdb/config/sparc/nbsdelf.mh
index f2599fdd388..8581c1b92ab 100644
--- a/gdb/config/sparc/nbsdelf.mh
+++ b/gdb/config/sparc/nbsdelf.mh
@@ -2,5 +2,5 @@
NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o sparc-nat.o \
solib.o solib-svr4.o solib-legacy.o
XM_FILE= xm-nbsd.h
-NAT_FILE= nm-nbsdelf.h
+NAT_FILE= nm-nbsd.h
HOST_IPC=-DBSD_IPC
diff --git a/gdb/config/sparc/nbsd.mt b/gdb/config/sparc/nbsdelf.mt
index 5c89318bfe9..5c89318bfe9 100644
--- a/gdb/config/sparc/nbsd.mt
+++ b/gdb/config/sparc/nbsdelf.mt
diff --git a/gdb/config/sparc/nm-nbsdelf.h b/gdb/config/sparc/nm-nbsdaout.h
index e1eddddd092..730759153e0 100644
--- a/gdb/config/sparc/nm-nbsdelf.h
+++ b/gdb/config/sparc/nm-nbsdaout.h
@@ -1,4 +1,4 @@
-/* Native-dependent definitions for Sparc running NetBSD ELF, for GDB.
+/* Native-dependent definitions for Sparc running NetBSD a.out, for GDB.
Copyright 1999 Free Software Foundation, Inc.
This file is part of GDB.
@@ -18,10 +18,13 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef NM_NBSDELF_H
-#define NM_NBSDELF_H
+#ifndef NM_NBSDAOUT_H
+#define NM_NBSDAOUT_H
-#define SVR4_SHARED_LIBS
#include "sparc/nm-nbsd.h"
-#endif
+/* Get generic NetBSD a.out native definitions. */
+
+#include "config/nm-nbsdaout.h"
+
+#endif /* NM_NBSDAOUT_H */
diff --git a/gdb/config/sparc/tm-nbsd.h b/gdb/config/sparc/tm-nbsd.h
index b434efe8dbd..289e705f0a9 100644
--- a/gdb/config/sparc/tm-nbsd.h
+++ b/gdb/config/sparc/tm-nbsd.h
@@ -23,6 +23,4 @@
#include "sparc/tm-sparc.h"
-#include "tm-nbsd.h"
-
#endif /* TM_NBSD_H */
diff --git a/gdb/config/tm-nbsd.h b/gdb/config/sparc/tm-nbsdaout.h
index d002d6bb2b5..a62e53551ea 100644
--- a/gdb/config/tm-nbsd.h
+++ b/gdb/config/sparc/tm-nbsdaout.h
@@ -1,6 +1,5 @@
-/* Target machine sub-description for NetBSD.
- This is included by other tm-*.h files to specify NetBSD-specific stuff.
- Copyright 1993, 1994 Free Software Foundation, Inc.
+/* Macro definitions for Sparc running under NetBSD.
+ Copyright 1994, 2002 Free Software Foundation, Inc.
This file is part of GDB.
@@ -19,11 +18,13 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef SVR4_SHARED_LIBS
+#ifndef TM_NBSDAOUT_H
+#define TM_NBSDAOUT_H
-/* Return non-zero if we are in a shared library trampoline code stub. */
+#include "sparc/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 /* !SVR4_SHARED_LIBS */
+#endif /* TM_NBSDAOUT_H */