gdb: Remove support for obsolete OSABIs and a.out
authorPedro Alves <palves@redhat.com>
Fri, 9 Dec 2016 16:08:49 +0000 (16:08 +0000)
committerPedro Alves <palves@redhat.com>
Fri, 9 Dec 2016 16:08:49 +0000 (16:08 +0000)
gdb/ChangeLog:
2016-12-09  Pedro Alves  <palves@redhat.com>

* Makefile.in (ALL_TARGET_OBS): Remove vax-obsd-tdep.o.
* alpha-fbsd-tdep.c (_initialize_alphafbsd_tdep): Adjust.
* alpha-nbsd-tdep.c: Move comment to _initialize_alphanbsd_tdep.
(alphanbsd_core_osabi_sniffer): Delete.
(_initialize_alphanbsd_tdep): No longer handle a.out.
* alpha-obsd-tdep.c (_initialize_alphaobsd_tdep): Adjust.
* amd64-fbsd-tdep.c (_initialize_amd64fbsd_tdep): Adjust.
* amd64-nbsd-tdep.c (_initialize_amd64nbsd_tdep): Adjust.
* amd64-obsd-tdep.c (amd64obsd_supply_regset)
(amd64obsd_combined_regset)
(amd64obsd_iterate_over_regset_sections, amd64obsd_core_init_abi):
Delete.
(_initialize_amd64obsd_tdep): Don't handle a.out.
* arm-nbsd-nat.c (struct md_core, fetch_core_registers)
(arm_netbsd_core_fns): Delete.
(_initialize_arm_netbsd_nat): Don't register arm_netbsd_core_fns.
* arm-nbsd-tdep.c (arm_netbsd_aout_init_abi)
(arm_netbsd_aout_osabi_sniffer): Delete.
(_initialize_arm_netbsd_tdep): Don't handle a.out.
* arm-obsd-tdep.c (armobsd_core_osabi_sniffer): Delete.
(_initialize_armobsd_tdep): Don't handle a.out.
* arm-tdep.c (arm_gdbarch_init): Remove bfd_target_aout_flavour
case.
* breakpoint.c (disable_breakpoints_in_unloaded_shlib): Remove
SunOS a.out handling.
* configure.tgt (vax-*-netbsd* | vax-*-knetbsd*-gnu): Remove
vax-obsd-tdep.o from gdb_target_objs.
(vax-*-openbsd*): Likewise.
(*-*-freebsd*): Adjust default gdb_osabi.
(*-*-openbsd*): Likewise.
* dbxread.c (block_address_function_relative): Delete.
(dbx_symfile_read): Remove reference to
block_address_function_relative.
(dbx_symfile_read): Don't call read_dbx_dynamic_symtab.
(read_dbx_dynamic_symtab): Delete.
(process_one_symbol): Remove references to
block_address_function_relative.
* defs.h (GDB_OSABI_FREEBSD_AOUT, GDB_OSABI_NETBSD_AOUT): Remove.
(GDB_OSABI_FREEBSD_ELF): Rename to ...
(GDB_OSABI_FREEBSD): ... this.
(GDB_OSABI_NETBSD_ELF): Rename to ...
(GDB_OSABI_NETBSD): ... this.
(GDB_OSABI_OPENBSD_ELF): Rename to ...
(GDB_OSABI_OPENBSD): ... this.
(GDB_OSABI_HPUX_ELF, GDB_OSABI_HPUX_SOM): Remove.
* fbsd-tdep.c: Adjust comment.
* hppa-nbsd-tdep.c (_initialize_hppanbsd_tdep): Adjust.
* hppa-obsd-tdep.c (GDB_OSABI_NETBSD_CORE): Delete.
(hppaobsd_core_osabi_sniffer): Delete.
(_initialize_hppabsd_tdep): Don't handle a.out.
* hppa-tdep.c (hppa_stub_frame_unwind_cache): Don't handle
GDB_OSABI_HPUX_SOM.
(hppa_gdbarch_init): Likewise.
* i386-bsd-tdep.c (i386bsd_aout_osabi_sniffer)
(i386bsd_core_osabi_sniffer, _initialize_i386bsd_tdep): Delete.
* i386-fbsd-tdep.c (i386fbsdaout_init_abi): Delete.  Merge bits
with ...
(i386fbsd_init_abi): ... this.
(_initialize_i386fbsd_tdep): Don't handle a.out.
* i386-nbsd-tdep.c (_initialize_i386nbsd_tdep): Adjust.
* i386-obsd-tdep.c (i386obsd_aout_supply_regset)
(i386obsd_aout_gregset)
(i386obsd_aout_iterate_over_regset_sections): Delete.
(i386obsd_init_abi): Merge with i386obsd_elf_init_abi.
(i386obsd_aout_init_abi): Delete.
(_initialize_i386obsd_tdep): Don't handle a.out.
* m68k-bsd-tdep.c (m68kobsd_sigtramp_cache_init)
(m68kobsd_sigtramp): Delete.
(m68kbsd_init_abi): Merge with ...
(m68kbsd_elf_init_abi): ... this, and delete it.
(m68kbsd_aout_init_abi): Delete.
(m68kbsd_aout_osabi_sniffer, m68kbsd_core_osabi_sniffer): Delete.
(_initialize_m68kbsd_tdep): Don't handle a.out.
* mips-nbsd-tdep.c (_initialize_mipsnbsd_tdep): Adjust.
* mips64-obsd-tdep.c (_initialize_mips64obsd_tdep): Adjust.
* osabi.c (gdb_osabi_names): Remove "a.out" entries.  Drop "ELF"
suffixes.  Remove "HP-UX" entries.
(generic_elf_osabi_sniff_abi_tag_sections): Adjust.
(generic_elf_osabi_sniffer): No longer handle GDB_OSABI_HPUX_ELF.
Adjust.
(_initialize_ppcfbsd_tdep): Adjust.
* ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Adjust.
* ppc-obsd-tdep.c (GDB_OSABI_NETBSD_CORE)
(ppcobsd_core_osabi_sniffer): Delete.
(_initialize_ppcobsd_tdep): Don't handle a.out.
* rs6000-tdep.c (rs6000_gdbarch_init): Adjust.
* sh-nbsd-tdep.c (GDB_OSABI_NETBSD_CORE)
(shnbsd_core_osabi_sniffer): Delete.
(_initialize_shnbsd_tdep): Don't handle a.out.
* solib.c (clear_solib): Don't handle SunOS/a.out.
* sparc-nbsd-tdep.c (sparc32nbsd_init_abi): Make extern.
(sparc32nbsd_aout_init_abi): Delete.
(sparc32nbsd_elf_init_abi): Merged into sparc32nbsd_init_abi.
(sparcnbsd_aout_osabi_sniffer): Delete.
(GDB_OSABI_NETBSD_CORE, sparcnbsd_core_osabi_sniffer): Delete.
(_initialize_sparcnbsd_tdep): No longer handle a.out.
* sparc-obsd-tdep.c (sparc32obsd_init_abi)
(_initialize_sparc32obsd_tdep): Adjust.
* sparc-tdep.h (sparc32nbsd_elf_init_abi): Rename to ...
(sparc32nbsd_init_abi): ... this.
* sparc64-fbsd-tdep.c (_initialize_sparc64fbsd_tdep): Adjust.
* sparc64-nbsd-tdep.c (_initialize_sparc64nbsd_tdep): Adjust.
* sparc64-obsd-tdep.c (_initialize_sparc64obsd_tdep): Adjust.
* stabsread.c: Update comment.
* symmisc.c (print_objfile_statistics): Don't mention "a.out" in
output.
* vax-nbsd-tdep.c (_initialize_vaxnbsd_tdep): Adjust.
* vax-obsd-tdep.c: Delete file.

44 files changed:
gdb/ChangeLog
gdb/Makefile.in
gdb/alpha-fbsd-tdep.c
gdb/alpha-nbsd-tdep.c
gdb/alpha-obsd-tdep.c
gdb/amd64-fbsd-tdep.c
gdb/amd64-nbsd-tdep.c
gdb/amd64-obsd-tdep.c
gdb/arm-nbsd-nat.c
gdb/arm-nbsd-tdep.c
gdb/arm-obsd-tdep.c
gdb/arm-tdep.c
gdb/breakpoint.c
gdb/configure.tgt
gdb/dbxread.c
gdb/defs.h
gdb/fbsd-tdep.c
gdb/hppa-nbsd-tdep.c
gdb/hppa-obsd-tdep.c
gdb/hppa-tdep.c
gdb/i386-bsd-tdep.c
gdb/i386-fbsd-tdep.c
gdb/i386-nbsd-tdep.c
gdb/i386-obsd-tdep.c
gdb/m68k-bsd-tdep.c
gdb/mips-nbsd-tdep.c
gdb/mips64-obsd-tdep.c
gdb/osabi.c
gdb/ppc-fbsd-tdep.c
gdb/ppc-nbsd-tdep.c
gdb/ppc-obsd-tdep.c
gdb/rs6000-tdep.c
gdb/sh-nbsd-tdep.c
gdb/solib.c
gdb/sparc-nbsd-tdep.c
gdb/sparc-obsd-tdep.c
gdb/sparc-tdep.h
gdb/sparc64-fbsd-tdep.c
gdb/sparc64-nbsd-tdep.c
gdb/sparc64-obsd-tdep.c
gdb/stabsread.c
gdb/symmisc.c
gdb/vax-nbsd-tdep.c
gdb/vax-obsd-tdep.c [deleted file]

index cba6514c8d87af4bf8533a164256aa2d713ceb6a..f115283630477ccf96a36e141f2bb76f817e694e 100644 (file)
@@ -1,3 +1,114 @@
+2016-12-09  Pedro Alves  <palves@redhat.com>
+
+       * Makefile.in (ALL_TARGET_OBS): Remove vax-obsd-tdep.o.
+       * alpha-fbsd-tdep.c (_initialize_alphafbsd_tdep): Adjust.
+       * alpha-nbsd-tdep.c: Move comment to _initialize_alphanbsd_tdep.
+       (alphanbsd_core_osabi_sniffer): Delete.
+       (_initialize_alphanbsd_tdep): No longer handle a.out.
+       * alpha-obsd-tdep.c (_initialize_alphaobsd_tdep): Adjust.
+       * amd64-fbsd-tdep.c (_initialize_amd64fbsd_tdep): Adjust.
+       * amd64-nbsd-tdep.c (_initialize_amd64nbsd_tdep): Adjust.
+       * amd64-obsd-tdep.c (amd64obsd_supply_regset)
+       (amd64obsd_combined_regset)
+       (amd64obsd_iterate_over_regset_sections, amd64obsd_core_init_abi):
+       Delete.
+       (_initialize_amd64obsd_tdep): Don't handle a.out.
+       * arm-nbsd-nat.c (struct md_core, fetch_core_registers)
+       (arm_netbsd_core_fns): Delete.
+       (_initialize_arm_netbsd_nat): Don't register arm_netbsd_core_fns.
+       * arm-nbsd-tdep.c (arm_netbsd_aout_init_abi)
+       (arm_netbsd_aout_osabi_sniffer): Delete.
+       (_initialize_arm_netbsd_tdep): Don't handle a.out.
+       * arm-obsd-tdep.c (armobsd_core_osabi_sniffer): Delete.
+       (_initialize_armobsd_tdep): Don't handle a.out.
+       * arm-tdep.c (arm_gdbarch_init): Remove bfd_target_aout_flavour
+       case.
+       * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Remove
+       SunOS a.out handling.
+       * configure.tgt (vax-*-netbsd* | vax-*-knetbsd*-gnu): Remove
+       vax-obsd-tdep.o from gdb_target_objs.
+       (vax-*-openbsd*): Likewise.
+       (*-*-freebsd*): Adjust default gdb_osabi.
+       (*-*-openbsd*): Likewise.
+       * dbxread.c (block_address_function_relative): Delete.
+       (dbx_symfile_read): Remove reference to
+       block_address_function_relative.
+       (dbx_symfile_read): Don't call read_dbx_dynamic_symtab.
+       (read_dbx_dynamic_symtab): Delete.
+       (process_one_symbol): Remove references to
+       block_address_function_relative.
+       * defs.h (GDB_OSABI_FREEBSD_AOUT, GDB_OSABI_NETBSD_AOUT): Remove.
+       (GDB_OSABI_FREEBSD_ELF): Rename to ...
+       (GDB_OSABI_FREEBSD): ... this.
+       (GDB_OSABI_NETBSD_ELF): Rename to ...
+       (GDB_OSABI_NETBSD): ... this.
+       (GDB_OSABI_OPENBSD_ELF): Rename to ...
+       (GDB_OSABI_OPENBSD): ... this.
+       (GDB_OSABI_HPUX_ELF, GDB_OSABI_HPUX_SOM): Remove.
+       * fbsd-tdep.c: Adjust comment.
+       * hppa-nbsd-tdep.c (_initialize_hppanbsd_tdep): Adjust.
+       * hppa-obsd-tdep.c (GDB_OSABI_NETBSD_CORE): Delete.
+       (hppaobsd_core_osabi_sniffer): Delete.
+       (_initialize_hppabsd_tdep): Don't handle a.out.
+       * hppa-tdep.c (hppa_stub_frame_unwind_cache): Don't handle
+       GDB_OSABI_HPUX_SOM.
+       (hppa_gdbarch_init): Likewise.
+       * i386-bsd-tdep.c (i386bsd_aout_osabi_sniffer)
+       (i386bsd_core_osabi_sniffer, _initialize_i386bsd_tdep): Delete.
+       * i386-fbsd-tdep.c (i386fbsdaout_init_abi): Delete.  Merge bits
+       with ...
+       (i386fbsd_init_abi): ... this.
+       (_initialize_i386fbsd_tdep): Don't handle a.out.
+       * i386-nbsd-tdep.c (_initialize_i386nbsd_tdep): Adjust.
+       * i386-obsd-tdep.c (i386obsd_aout_supply_regset)
+       (i386obsd_aout_gregset)
+       (i386obsd_aout_iterate_over_regset_sections): Delete.
+       (i386obsd_init_abi): Merge with i386obsd_elf_init_abi.
+       (i386obsd_aout_init_abi): Delete.
+       (_initialize_i386obsd_tdep): Don't handle a.out.
+       * m68k-bsd-tdep.c (m68kobsd_sigtramp_cache_init)
+       (m68kobsd_sigtramp): Delete.
+       (m68kbsd_init_abi): Merge with ...
+       (m68kbsd_elf_init_abi): ... this, and delete it.
+       (m68kbsd_aout_init_abi): Delete.
+       (m68kbsd_aout_osabi_sniffer, m68kbsd_core_osabi_sniffer): Delete.
+       (_initialize_m68kbsd_tdep): Don't handle a.out.
+       * mips-nbsd-tdep.c (_initialize_mipsnbsd_tdep): Adjust.
+       * mips64-obsd-tdep.c (_initialize_mips64obsd_tdep): Adjust.
+       * osabi.c (gdb_osabi_names): Remove "a.out" entries.  Drop "ELF"
+       suffixes.  Remove "HP-UX" entries.
+       (generic_elf_osabi_sniff_abi_tag_sections): Adjust.
+       (generic_elf_osabi_sniffer): No longer handle GDB_OSABI_HPUX_ELF.
+       Adjust.
+       (_initialize_ppcfbsd_tdep): Adjust.
+       * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Adjust.
+       * ppc-obsd-tdep.c (GDB_OSABI_NETBSD_CORE)
+       (ppcobsd_core_osabi_sniffer): Delete.
+       (_initialize_ppcobsd_tdep): Don't handle a.out.
+       * rs6000-tdep.c (rs6000_gdbarch_init): Adjust.
+       * sh-nbsd-tdep.c (GDB_OSABI_NETBSD_CORE)
+       (shnbsd_core_osabi_sniffer): Delete.
+       (_initialize_shnbsd_tdep): Don't handle a.out.
+       * solib.c (clear_solib): Don't handle SunOS/a.out.
+       * sparc-nbsd-tdep.c (sparc32nbsd_init_abi): Make extern.
+       (sparc32nbsd_aout_init_abi): Delete.
+       (sparc32nbsd_elf_init_abi): Merged into sparc32nbsd_init_abi.
+       (sparcnbsd_aout_osabi_sniffer): Delete.
+       (GDB_OSABI_NETBSD_CORE, sparcnbsd_core_osabi_sniffer): Delete.
+       (_initialize_sparcnbsd_tdep): No longer handle a.out.
+       * sparc-obsd-tdep.c (sparc32obsd_init_abi)
+       (_initialize_sparc32obsd_tdep): Adjust.
+       * sparc-tdep.h (sparc32nbsd_elf_init_abi): Rename to ...
+       (sparc32nbsd_init_abi): ... this.
+       * sparc64-fbsd-tdep.c (_initialize_sparc64fbsd_tdep): Adjust.
+       * sparc64-nbsd-tdep.c (_initialize_sparc64nbsd_tdep): Adjust.
+       * sparc64-obsd-tdep.c (_initialize_sparc64obsd_tdep): Adjust.
+       * stabsread.c: Update comment.
+       * symmisc.c (print_objfile_statistics): Don't mention "a.out" in
+       output.
+       * vax-nbsd-tdep.c (_initialize_vaxnbsd_tdep): Adjust.
+       * vax-obsd-tdep.c: Delete file.
+
 2016-12-09  Yao Qi  <yao.qi@linaro.org>
 
        PR tdep/20954
index 2cf1b3d120808b5a1be1a49c017997235a290940..946d4400a9b1693f828bf146801f3382679910fb 100644 (file)
@@ -873,7 +873,6 @@ ALL_TARGET_OBS = \
        tilegx-tdep.o \
        v850-tdep.o \
        vax-nbsd-tdep.o \
-       vax-obsd-tdep.o \
        vax-tdep.o \
        windows-tdep.o \
        xcoffread.o \
index 84fedc27f1f287242239f7f0177330df0ddbe03a..6328f1e41b842edc89045da8af3db5848ba2484d 100644 (file)
@@ -127,6 +127,6 @@ void _initialize_alphafbsd_tdep (void);
 void
 _initialize_alphafbsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_alpha, 0, GDB_OSABI_FREEBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_alpha, 0, GDB_OSABI_FREEBSD,
                           alphafbsd_init_abi);
 }
index 00ff4814069e21c919698ac5a91a97a310326ae2..b84b6916c29eb6bbbde65a66303528c193348a1d 100644 (file)
@@ -35,9 +35,6 @@
 
 /* Core file support.  */
 
-/* Even though NetBSD/alpha used ELF since day one, it used the
-   traditional a.out-style core dump format before NetBSD 1.6.  */
-
 /* Sizeof `struct reg' in <machine/reg.h>.  */
 #define ALPHANBSD_SIZEOF_GREGS (32 * 8)
 
@@ -279,26 +276,15 @@ alphanbsd_init_abi (struct gdbarch_info info,
 }
 \f
 
-static enum gdb_osabi
-alphanbsd_core_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "netbsd-core") == 0)
-    return GDB_OSABI_NETBSD_ELF;
-
-  return GDB_OSABI_UNKNOWN;
-}
-\f
-
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 void _initialize_alphanbsd_tdep (void);
 
 void
 _initialize_alphanbsd_tdep (void)
 {
-  /* BFD doesn't set a flavour for NetBSD style a.out core files.  */
-  gdbarch_register_osabi_sniffer (bfd_arch_alpha, bfd_target_unknown_flavour,
-                                  alphanbsd_core_osabi_sniffer);
-
-  gdbarch_register_osabi (bfd_arch_alpha, 0, GDB_OSABI_NETBSD_ELF,
+  /* Even though NetBSD/alpha used ELF since day one, it used the
+     traditional a.out-style core dump format before NetBSD 1.6, but
+     we don't support those.  */
+  gdbarch_register_osabi (bfd_arch_alpha, 0, GDB_OSABI_NETBSD,
                           alphanbsd_init_abi);
 }
index 98436f3a295eea2bc7c410cb04d29daf9f2242e0..2ed8a58dc93554d68b2ebba8afca80e4e6fc2449 100644 (file)
@@ -132,6 +132,6 @@ void _initialize_alphaobsd_tdep (void);
 void
 _initialize_alphaobsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_alpha, 0, GDB_OSABI_OPENBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_alpha, 0, GDB_OSABI_OPENBSD,
                           alphaobsd_init_abi);
 }
index d3c42706f4c4e198c58dc68928ac306b40ef4d25..bd591af6f9ab6be2a241cad4d8b21550ebbf7571 100644 (file)
@@ -315,5 +315,5 @@ void
 _initialize_amd64fbsd_tdep (void)
 {
   gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
-                         GDB_OSABI_FREEBSD_ELF, amd64fbsd_init_abi);
+                         GDB_OSABI_FREEBSD, amd64fbsd_init_abi);
 }
index 9e3cb11e70c248c15fab5ff48d5a44b6b27316d3..6d37ffd2f8cfeb978e9f463e13e43acce18717ed 100644 (file)
@@ -129,5 +129,5 @@ _initialize_amd64nbsd_tdep (void)
   gdb_assert (ARRAY_SIZE (amd64nbsd_r_reg_offset) == AMD64_NUM_GREGS);
 
   gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
-                         GDB_OSABI_NETBSD_ELF, amd64nbsd_init_abi);
+                         GDB_OSABI_NETBSD, amd64nbsd_init_abi);
 }
index 7c79e44bdea93cbffd1d0863de12f3424fb4588e..bbf090807514ddf6ac771498498f664cc0f0e743 100644 (file)
 #include "solib-svr4.h"
 #include "bsd-uthread.h"
 
-/* Support for core dumps.  */
-
-static void
-amd64obsd_supply_regset (const struct regset *regset,
-                        struct regcache *regcache, int regnum,
-                        const void *regs, size_t len)
-{
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-  const struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  gdb_assert (len >= tdep->sizeof_gregset + I387_SIZEOF_FXSAVE);
-
-  i386_supply_gregset (regset, regcache, regnum, regs, tdep->sizeof_gregset);
-  amd64_supply_fxsave (regcache, regnum,
-                      ((const gdb_byte *)regs) + tdep->sizeof_gregset);
-}
-
-static const struct regset amd64obsd_combined_regset =
-  {
-    NULL, amd64obsd_supply_regset, NULL
-  };
-
-static void
-amd64obsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
-                                       iterate_over_regset_sections_cb *cb,
-                                       void *cb_data,
-                                       const struct regcache *regcache)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  /* OpenBSD core dumps don't use seperate register sets for the
-     general-purpose and floating-point registers.  */
-
-  cb (".reg", tdep->sizeof_gregset + I387_SIZEOF_FXSAVE,
-      &amd64obsd_combined_regset, NULL, cb_data);
-}
-\f
-
 /* Support for signal handlers.  */
 
 /* Default page size.  */
@@ -483,17 +445,6 @@ amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   /* Unwind kernel trap frames correctly.  */
   frame_unwind_prepend_unwinder (gdbarch, &amd64obsd_trapframe_unwind);
 }
-
-/* Traditional (a.out) NetBSD-style core dumps.  */
-
-static void
-amd64obsd_core_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
-{
-  amd64obsd_init_abi (info, gdbarch);
-
-  set_gdbarch_iterate_over_regset_sections
-    (gdbarch, amd64obsd_iterate_over_regset_sections);
-}
 \f
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
@@ -506,9 +457,5 @@ _initialize_amd64obsd_tdep (void)
   gdb_assert (ARRAY_SIZE (amd64obsd_r_reg_offset) == AMD64_NUM_GREGS);
 
   gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
-                         GDB_OSABI_OPENBSD_ELF, amd64obsd_init_abi);
-
-  /* OpenBSD uses traditional (a.out) NetBSD-style core dumps.  */
-  gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
-                         GDB_OSABI_NETBSD_AOUT, amd64obsd_core_init_abi);
+                         GDB_OSABI_OPENBSD, amd64obsd_init_abi);
 }
index c8b549e47f9b95b1e5c0399ae1ed4ddc4ca26faa..f9fd7be7177f11fc0e06434903d21693a3e43a7d 100644 (file)
@@ -409,25 +409,6 @@ armnbsd_store_registers (struct target_ops *ops,
     }
 }
 
-struct md_core
-{
-  struct reg intreg;
-  struct fpreg freg;
-};
-
-static void
-fetch_core_registers (struct regcache *regcache,
-                     char *core_reg_sect, unsigned core_reg_size,
-                     int which, CORE_ADDR ignore)
-{
-  struct md_core *core_reg = (struct md_core *) core_reg_sect;
-  int regno;
-  CORE_ADDR r_pc;
-
-  arm_supply_gregset (regcache, &core_reg->intreg);
-  arm_supply_fparegset (regcache, &core_reg->freg);
-}
-
 static void
 fetch_elfcore_registers (struct regcache *regcache,
                         char *core_reg_sect, unsigned core_reg_size,
@@ -468,15 +449,6 @@ fetch_elfcore_registers (struct regcache *regcache,
     }
 }
 
-static struct core_fns arm_netbsd_core_fns =
-{
-  bfd_target_unknown_flavour,          /* core_flovour.  */
-  default_check_format,                        /* check_format.  */
-  default_core_sniffer,                        /* core_sniffer.  */
-  fetch_core_registers,                        /* core_read_registers.  */
-  NULL
-};
-
 static struct core_fns arm_netbsd_elfcore_fns =
 {
   bfd_target_elf_flavour,              /* core_flovour.  */
@@ -496,6 +468,5 @@ _initialize_arm_netbsd_nat (void)
   t->to_store_registers = armnbsd_store_registers;
   add_target (t);
 
-  deprecated_add_core_fns (&arm_netbsd_core_fns);
   deprecated_add_core_fns (&arm_netbsd_elfcore_fns);
 }
index 259853c6465f2144ac5f711c677c8fc932a5cb38..e4d8fbe19f7c3ac799c5d0e74f2553a3e2444967 100644 (file)
@@ -70,17 +70,6 @@ arm_netbsd_init_abi_common (struct gdbarch_info info,
   set_gdbarch_software_single_step (gdbarch, arm_software_single_step);
 }
   
-static void
-arm_netbsd_aout_init_abi (struct gdbarch_info info, 
-                         struct gdbarch *gdbarch)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  arm_netbsd_init_abi_common (info, gdbarch);
-  if (tdep->fp_model == ARM_FLOAT_AUTO)
-    tdep->fp_model = ARM_FLOAT_SOFT_FPA;
-}
-
 static void
 arm_netbsd_elf_init_abi (struct gdbarch_info info,
                         struct gdbarch *gdbarch)
@@ -96,26 +85,12 @@ arm_netbsd_elf_init_abi (struct gdbarch_info info,
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
 }
 
-static enum gdb_osabi
-arm_netbsd_aout_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "a.out-arm-netbsd") == 0)
-    return GDB_OSABI_NETBSD_AOUT;
-
-  return GDB_OSABI_UNKNOWN;
-}
-
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 extern initialize_file_ftype _initialize_arm_netbsd_tdep;
 
 void
 _initialize_arm_netbsd_tdep (void)
 {
-  gdbarch_register_osabi_sniffer (bfd_arch_arm, bfd_target_aout_flavour,
-                                 arm_netbsd_aout_osabi_sniffer);
-
-  gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_NETBSD_AOUT,
-                          arm_netbsd_aout_init_abi);
-  gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_NETBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_NETBSD,
                           arm_netbsd_elf_init_abi);
 }
index 5ccf1d146d1283a5a8ec74a4fdb626b95e53ecfc..903190374c010cf9e0989b69a42d335803036e6b 100644 (file)
@@ -116,25 +116,12 @@ armobsd_init_abi (struct gdbarch_info info,
 }
 \f
 
-static enum gdb_osabi
-armobsd_core_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "netbsd-core") == 0)
-    return GDB_OSABI_OPENBSD_ELF;
-
-  return GDB_OSABI_UNKNOWN;
-}
-
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 extern initialize_file_ftype _initialize_armobsd_tdep;
 
 void
 _initialize_armobsd_tdep (void)
 {
-  /* BFD doesn't set a flavour for NetBSD style a.out core files.  */
-  gdbarch_register_osabi_sniffer (bfd_arch_arm, bfd_target_unknown_flavour,
-                                  armobsd_core_osabi_sniffer);
-
-  gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_OPENBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_OPENBSD,
                          armobsd_init_abi);
 }
index 97dea89de5684b0edf92432a950890a904cb4f37..937fb8ba6ba73fd811b0d3fd6c4b5fd6a47a8b14 100644 (file)
@@ -8990,11 +8990,6 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
       switch (bfd_get_flavour (info.abfd))
        {
-       case bfd_target_aout_flavour:
-         /* Assume it's an old APCS-style ABI.  */
-         arm_abi = ARM_ABI_APCS;
-         break;
-
        case bfd_target_coff_flavour:
          /* Assume it's an old APCS-style ABI.  */
          /* XXX WinCE?  */
index 38262baab7537a0ae94b961f9899809d1c494100..92aac3aca4ddb38966d15d702c2be82db9b18a34 100644 (file)
@@ -7957,14 +7957,6 @@ disable_breakpoints_in_unloaded_shlib (struct so_list *solib)
   struct bp_location *loc, **locp_tmp;
   int disabled_shlib_breaks = 0;
 
-  /* SunOS a.out shared libraries are always mapped, so do not
-     disable breakpoints; they will only be reported as unloaded
-     through clear_solib when GDB discards its shared library
-     list.  See clear_solib for more information.  */
-  if (exec_bfd != NULL
-      && bfd_get_flavour (exec_bfd) == bfd_target_aout_flavour)
-    return;
-
   ALL_BP_LOCATIONS (loc, locp_tmp)
   {
     /* ALL_BP_LOCATIONS bp_location has LOC->OWNER always non-NULL.  */
index 3a1ea6ffc2e88f019cd93323604519db1a13ac9a..3f2603ddb7956ae019bc2788c2723eaf96c6eb19 100644 (file)
@@ -643,11 +643,11 @@ v850*-*-elf | v850*-*-rtems*)
 
 vax-*-netbsd* | vax-*-knetbsd*-gnu)
        # Target: NetBSD/vax
-       gdb_target_obs="vax-tdep.o vax-nbsd-tdep.o solib-svr4.o"
+       gdb_target_obs="vax-tdep.o solib-svr4.o"
        ;;
 vax-*-openbsd*)
        # Target: OpenBSD/vax
-       gdb_target_obs="vax-tdep.o vax-obsd-tdep.o"
+       gdb_target_obs="vax-tdep.o"
        ;;
 vax-*-*)
        # Target: VAX
@@ -720,12 +720,12 @@ esac
 
 case "${targ}" in
 *-*-freebsd* | *-*-kfreebsd*-gnu)
-               gdb_osabi=GDB_OSABI_FREEBSD_ELF ;;
+               gdb_osabi=GDB_OSABI_FREEBSD ;;
 *-*-linux* | *-*-uclinux*)
                gdb_osabi=GDB_OSABI_LINUX ;;
 *-*-nto*)      gdb_osabi=GDB_OSABI_QNXNTO ;;
 m68*-*-openbsd* | m88*-*-openbsd* | vax-*-openbsd*) ;;
-*-*-openbsd*)  gdb_osabi=GDB_OSABI_OPENBSD_ELF ;;
+*-*-openbsd*)  gdb_osabi=GDB_OSABI_OPENBSD ;;
 *-*-solaris*)  gdb_osabi=GDB_OSABI_SOLARIS ;;
 *-*-*-gnu*)    ;; # prevent non-GNU kernels to match the Hurd rule below
 *-*-gnu*)      gdb_osabi=GDB_OSABI_HURD ;;
index cfc4ed0ca6b8318bbbe2daa90e9292d03ce7e715..ed3511f6d945c2984c0ca3c7efd2a330d80aeafe 100644 (file)
@@ -144,10 +144,6 @@ static unsigned int next_file_string_table_offset;
 
 static int symfile_relocatable = 0;
 
-/* If this is nonzero, N_LBRAC, N_RBRAC, and N_SLINE entries are
-   relative to the function start address.  */
-
-static int block_address_function_relative = 0;
 \f
 /* The lowest text address we have yet encountered.  This is needed
    because in an a.out file, there is no header field which tells us
@@ -262,9 +258,6 @@ static void dbx_read_symtab (struct partial_symtab *self,
 
 static void dbx_psymtab_to_symtab_1 (struct objfile *, struct partial_symtab *);
 
-static void read_dbx_dynamic_symtab (minimal_symbol_reader &reader,
-                                    struct objfile *objfile);
-
 static void read_dbx_symtab (minimal_symbol_reader &, struct objfile *);
 
 static void free_bincl_list (struct objfile *);
@@ -534,18 +527,6 @@ dbx_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
 
   symfile_relocatable = bfd_get_file_flags (sym_bfd) & HAS_RELOC;
 
-  /* This is true for Solaris (and all other systems which put stabs
-     in sections, hopefully, since it would be silly to do things
-     differently from Solaris), and false for SunOS4 and other a.out
-     file formats.  */
-  block_address_function_relative =
-    ((startswith (bfd_get_target (sym_bfd), "elf"))
-     || (startswith (bfd_get_target (sym_bfd), "som"))
-     || (startswith (bfd_get_target (sym_bfd), "coff"))
-     || (startswith (bfd_get_target (sym_bfd), "pe"))
-     || (startswith (bfd_get_target (sym_bfd), "epoc-pe"))
-     || (startswith (bfd_get_target (sym_bfd), "nlm")));
-
   val = bfd_seek (sym_bfd, DBX_SYMTAB_OFFSET (objfile), SEEK_SET);
   if (val < 0)
     perror_with_name (objfile_name (objfile));
@@ -566,10 +547,6 @@ dbx_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
 
   read_dbx_symtab (reader, objfile);
 
-  /* Add the dynamic symbols.  */
-
-  read_dbx_dynamic_symtab (reader, objfile);
-
   /* Install any minimal symbols that have been collected as the current
      minimal symbols for this objfile.  */
 
@@ -976,144 +953,6 @@ set_namestring (struct objfile *objfile, const struct internal_nlist *nlist)
   return namestring;
 }
 
-/* Scan a SunOs dynamic symbol table for symbols of interest and
-   add them to the minimal symbol table.  */
-
-static void
-read_dbx_dynamic_symtab (minimal_symbol_reader &reader,
-                        struct objfile *objfile)
-{
-  bfd *abfd = objfile->obfd;
-  struct cleanup *back_to;
-  int counter;
-  long dynsym_size;
-  long dynsym_count;
-  asymbol **dynsyms;
-  asymbol **symptr;
-  arelent **relptr;
-  long dynrel_size;
-  long dynrel_count;
-  arelent **dynrels;
-  CORE_ADDR sym_value;
-  const char *name;
-
-  /* Check that the symbol file has dynamic symbols that we know about.
-     bfd_arch_unknown can happen if we are reading a sun3 symbol file
-     on a sun4 host (and vice versa) and bfd is not configured
-     --with-target=all.  This would trigger an assertion in bfd/sunos.c,
-     so we ignore the dynamic symbols in this case.  */
-  if (bfd_get_flavour (abfd) != bfd_target_aout_flavour
-      || (bfd_get_file_flags (abfd) & DYNAMIC) == 0
-      || bfd_get_arch (abfd) == bfd_arch_unknown)
-    return;
-
-  dynsym_size = bfd_get_dynamic_symtab_upper_bound (abfd);
-  if (dynsym_size < 0)
-    return;
-
-  dynsyms = (asymbol **) xmalloc (dynsym_size);
-  back_to = make_cleanup (xfree, dynsyms);
-
-  dynsym_count = bfd_canonicalize_dynamic_symtab (abfd, dynsyms);
-  if (dynsym_count < 0)
-    {
-      do_cleanups (back_to);
-      return;
-    }
-
-  /* Enter dynamic symbols into the minimal symbol table
-     if this is a stripped executable.  */
-  if (bfd_get_symcount (abfd) <= 0)
-    {
-      symptr = dynsyms;
-      for (counter = 0; counter < dynsym_count; counter++, symptr++)
-       {
-         asymbol *sym = *symptr;
-         asection *sec;
-         int type;
-
-         sec = bfd_get_section (sym);
-
-         /* BFD symbols are section relative.  */
-         sym_value = sym->value + sec->vma;
-
-         if (bfd_get_section_flags (abfd, sec) & SEC_CODE)
-           {
-             type = N_TEXT;
-           }
-         else if (bfd_get_section_flags (abfd, sec) & SEC_DATA)
-           {
-             type = N_DATA;
-           }
-         else if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
-           {
-             type = N_BSS;
-           }
-         else
-           continue;
-
-         if (sym->flags & BSF_GLOBAL)
-           type |= N_EXT;
-
-         record_minimal_symbol (reader, bfd_asymbol_name (sym), sym_value,
-                                type, objfile);
-       }
-    }
-
-  /* Symbols from shared libraries have a dynamic relocation entry
-     that points to the associated slot in the procedure linkage table.
-     We make a mininal symbol table entry with type mst_solib_trampoline
-     at the address in the procedure linkage table.  */
-  dynrel_size = bfd_get_dynamic_reloc_upper_bound (abfd);
-  if (dynrel_size < 0)
-    {
-      do_cleanups (back_to);
-      return;
-    }
-
-  dynrels = (arelent **) xmalloc (dynrel_size);
-  make_cleanup (xfree, dynrels);
-
-  dynrel_count = bfd_canonicalize_dynamic_reloc (abfd, dynrels, dynsyms);
-  if (dynrel_count < 0)
-    {
-      do_cleanups (back_to);
-      return;
-    }
-
-  for (counter = 0, relptr = dynrels;
-       counter < dynrel_count;
-       counter++, relptr++)
-    {
-      arelent *rel = *relptr;
-      CORE_ADDR address = rel->address;
-
-      switch (bfd_get_arch (abfd))
-       {
-       case bfd_arch_sparc:
-         if (rel->howto->type != RELOC_JMP_SLOT)
-           continue;
-         break;
-       case bfd_arch_m68k:
-         /* `16' is the type BFD produces for a jump table relocation.  */
-         if (rel->howto->type != 16)
-           continue;
-
-         /* Adjust address in the jump table to point to
-            the start of the bsr instruction.  */
-         address -= 2;
-         break;
-       default:
-         continue;
-       }
-
-      name = bfd_asymbol_name (*rel->sym_ptr_ptr);
-      reader.record (name, address, mst_solib_trampoline);
-    }
-
-  do_cleanups (back_to);
-}
-
 static CORE_ADDR
 find_stab_function_addr (char *namestring, const char *filename,
                         struct objfile *objfile)
@@ -2688,14 +2527,6 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
      source file.  Used to detect the SunPRO solaris compiler.  */
   static int n_opt_found;
 
-  if (!block_address_function_relative)
-    {
-      /* N_LBRAC, N_RBRAC and N_SLINE entries are not relative to the
-        function start address, so just use the text offset.  */
-      function_start_offset =
-       ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
-    }
-
   /* Something is wrong if we see real data before seeing a source
      file name.  */
 
@@ -2751,8 +2582,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
 
          /* May be switching to an assembler file which may not be using
             block relative stabs, so reset the offset.  */
-         if (block_address_function_relative)
-           function_start_offset = 0;
+         function_start_offset = 0;
 
          break;
        }
@@ -2774,13 +2604,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
       if (n_opt_found && desc == 1)
        break;
 
-      if (block_address_function_relative)
-       /* Relocate for Sun ELF acc fn-relative syms.  */
-       valu += function_start_offset;
-      else
-       /* On most machines, the block addresses are relative to the
-          N_SO, the linker did not relocate them (sigh).  */
-       valu += last_source_start_addr;
+      valu += function_start_offset;
 
       push_context (desc, valu);
       break;
@@ -2793,13 +2617,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
       if (n_opt_found && desc == 1)
        break;
 
-      if (block_address_function_relative)
-       /* Relocate for Sun ELF acc fn-relative syms.  */
-       valu += function_start_offset;
-      else
-       /* On most machines, the block addresses are relative to the
-          N_SO, the linker did not relocate them (sigh).  */
-       valu += last_source_start_addr;
+      valu += function_start_offset;
 
       if (context_stack_depth <= 0)
        {
@@ -2894,8 +2712,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
       if (*name == '\000')
        break;
 
-      if (block_address_function_relative)
-       function_start_offset = 0;
+      function_start_offset = 0;
 
       start_stabs ();
       start_symtab (objfile, name, NULL, valu);
@@ -3113,14 +2930,8 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
                    valu = minsym_valu;
                }
 
-             if (block_address_function_relative)
-               /* For Solaris 2 compilers, the block addresses and
-                  N_SLINE's are relative to the start of the
-                  function.  On normal systems, and when using GCC on
-                  Solaris 2, these addresses are just absolute, or
-                  relative to the N_SO, depending on
-                  BLOCK_ADDRESS_ABSOLUTE.  */
-               function_start_offset = valu;
+             /* These addresses are absolute.  */
+             function_start_offset = valu;
 
              within_function = 1;
 
index 3d21f62f52cc3a59d5effb62dcb78014acdfc092..6261e92460ce72785e31962918157bd141502b6b 100644 (file)
@@ -574,15 +574,11 @@ enum gdb_osabi
   GDB_OSABI_HURD,
   GDB_OSABI_SOLARIS,
   GDB_OSABI_LINUX,
-  GDB_OSABI_FREEBSD_AOUT,
-  GDB_OSABI_FREEBSD_ELF,
-  GDB_OSABI_NETBSD_AOUT,
-  GDB_OSABI_NETBSD_ELF,
-  GDB_OSABI_OPENBSD_ELF,
+  GDB_OSABI_FREEBSD,
+  GDB_OSABI_NETBSD,
+  GDB_OSABI_OPENBSD,
   GDB_OSABI_WINCE,
   GDB_OSABI_GO32,
-  GDB_OSABI_HPUX_ELF,
-  GDB_OSABI_HPUX_SOM,
   GDB_OSABI_QNXNTO,
   GDB_OSABI_CYGWIN,
   GDB_OSABI_AIX,
index 4329f974835b8668524fe01cf983c224c369ed79..4c91cfcca7da29876fbb7263a67ccbc23858771f 100644 (file)
@@ -334,7 +334,7 @@ fbsd_get_syscall_number (struct gdbarch *gdbarch,
   internal_error (__FILE__, __LINE__, _("fbsd_get_sycall_number called"));
 }
 
-/* To be called from GDB_OSABI_FREEBSD_ELF handlers. */
+/* To be called from GDB_OSABI_FREEBSD handlers. */
 
 void
 fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
index 6165bb57a05459af536e604d48051d68a0e411e0..c48dae417b126b6a59a2ab4c0a147ab56cd9f4f3 100644 (file)
@@ -213,6 +213,6 @@ extern initialize_file_ftype _initialize_hppanbsd_tdep;
 void
 _initialize_hppanbsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_hppa, 0, GDB_OSABI_NETBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_hppa, 0, GDB_OSABI_NETBSD,
                          hppanbsd_init_abi);
 }
index 65364fec3389769d440c0d04abbefdc50a9f82e2..fe1e4f7bf257142976a5284d7f5459264bbf4140 100644 (file)
@@ -166,30 +166,12 @@ hppaobsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 }
 \f
 
-/* OpenBSD uses uses the traditional NetBSD core file format, even for
-   ports that use ELF.  */
-#define GDB_OSABI_NETBSD_CORE GDB_OSABI_OPENBSD_ELF
-
-static enum gdb_osabi
-hppaobsd_core_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "netbsd-core") == 0)
-    return GDB_OSABI_NETBSD_CORE;
-
-  return GDB_OSABI_UNKNOWN;
-}
-\f
-
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 void _initialize_hppabsd_tdep (void);
 
 void
 _initialize_hppabsd_tdep (void)
 {
-  /* BFD doesn't set a flavour for NetBSD style a.out core files.  */
-  gdbarch_register_osabi_sniffer (bfd_arch_hppa, bfd_target_unknown_flavour,
-                                 hppaobsd_core_osabi_sniffer);
-
-  gdbarch_register_osabi (bfd_arch_hppa, 0, GDB_OSABI_OPENBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_hppa, 0, GDB_OSABI_OPENBSD,
                          hppaobsd_init_abi);
 }
index 4bb49ed2ef64928d8ba2bc1d48c4b76483fd30b4..65a49fd300f46c55861849fc247aaad3a5d022a5 100644 (file)
@@ -2454,21 +2454,6 @@ hppa_stub_frame_unwind_cache (struct frame_info *this_frame,
 
   info->base = get_frame_register_unsigned (this_frame, HPPA_SP_REGNUM);
 
-  if (gdbarch_osabi (gdbarch) == GDB_OSABI_HPUX_SOM)
-    {
-      /* HPUX uses export stubs in function calls; the export stub clobbers
-         the return value of the caller, and, later restores it from the
-        stack.  */
-      u = find_unwind_entry (get_frame_pc (this_frame));
-
-      if (u && u->stub_unwind.stub_type == EXPORT)
-       {
-          info->saved_regs[HPPA_PCOQ_HEAD_REGNUM].addr = info->base - 24;
-
-         return info;
-       }
-    }
-
   /* By default we assume that stubs do not change the rp.  */
   info->saved_regs[HPPA_PCOQ_HEAD_REGNUM].realreg = HPPA_RP_REGNUM;
 
@@ -3062,14 +3047,6 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 {
   struct gdbarch_tdep *tdep;
   struct gdbarch *gdbarch;
-  
-  /* Try to determine the ABI of the object we are loading.  */
-  if (info.abfd != NULL && info.osabi == GDB_OSABI_UNKNOWN)
-    {
-      /* If it's a SOM file, assume it's HP/UX SOM.  */
-      if (bfd_get_flavour (info.abfd) == bfd_target_som_flavour)
-       info.osabi = GDB_OSABI_HPUX_SOM;
-    }
 
   /* find a candidate among the list of pre-declared architectures.  */
   arches = gdbarch_list_lookup_by_info (arches, &info);
index 15809b3b9a61ec1724ee10a2ca810ee21d2feccf..af4b830c2cca9cb406f5b75a67eac5d9a9280813 100644 (file)
@@ -86,38 +86,3 @@ i386bsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 }
 
 \f
-static enum gdb_osabi
-i386bsd_aout_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "a.out-i386-netbsd") == 0)
-    return GDB_OSABI_NETBSD_AOUT;
-
-  if (strcmp (bfd_get_target (abfd), "a.out-i386-freebsd") == 0)
-    return GDB_OSABI_FREEBSD_AOUT;
-
-  return GDB_OSABI_UNKNOWN;
-}
-
-static enum gdb_osabi
-i386bsd_core_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "netbsd-core") == 0)
-    return GDB_OSABI_NETBSD_AOUT;
-
-  return GDB_OSABI_UNKNOWN;
-}
-
-\f
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-void _initialize_i386bsd_tdep (void);
-
-void
-_initialize_i386bsd_tdep (void)
-{
-  gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_aout_flavour,
-                                 i386bsd_aout_osabi_sniffer);
-
-  /* BFD doesn't set a flavour for NetBSD style a.out core files.  */
-  gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_unknown_flavour,
-                                 i386bsd_core_osabi_sniffer);
-}
index a08523a63139cccbf7b6456b66313e58253c8a85..236f49b6c969614ca8231df277a6e9f262ba8310 100644 (file)
@@ -373,7 +373,7 @@ i386fbsd_collect_uthread (const struct regcache *regcache,
 }
 
 static void
-i386fbsdaout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+i386fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
@@ -403,18 +403,10 @@ i386fbsdaout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   /* FreeBSD provides a user-level threads implementation.  */
   bsd_uthread_set_supply_uthread (gdbarch, i386fbsd_supply_uthread);
   bsd_uthread_set_collect_uthread (gdbarch, i386fbsd_collect_uthread);
-}
-
-static void
-i386fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
-{
-  /* It's almost identical to FreeBSD a.out.  */
-  i386fbsdaout_init_abi (info, gdbarch);
 
-  /* Except that it uses ELF.  */
   i386_elf_init_abi (info, gdbarch);
 
-  /* FreeBSD ELF uses SVR4-style shared libraries.  */
+  /* FreeBSD uses SVR4-style shared libraries.  */
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
 }
@@ -491,8 +483,6 @@ void _initialize_i386fbsd_tdep (void);
 void
 _initialize_i386fbsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_FREEBSD_AOUT,
-                         i386fbsdaout_init_abi);
-  gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_FREEBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_FREEBSD,
                          i386fbsd4_init_abi);
 }
index f73e5c1027452e561ac43d9de5bfa16f5c5fe059..088eb91dc2a5bd8c47e3fec05b3d8c26cbb47b37 100644 (file)
@@ -322,6 +322,6 @@ extern initialize_file_ftype _initialize_i386nbsd_tdep;
 void
 _initialize_i386nbsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_NETBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_NETBSD,
                          i386nbsdelf_init_abi);
 }
index 08becfa82969aa2d2456b67316d37e144f92c8da..5495c54c67103505b27625c51d5f9f181ebe42c5 100644 (file)
@@ -134,40 +134,6 @@ static int i386obsd_r_reg_offset[] =
   15 * 4                       /* %gs */
 };
 
-static void
-i386obsd_aout_supply_regset (const struct regset *regset,
-                            struct regcache *regcache, int regnum,
-                            const void *regs, size_t len)
-{
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-  const struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  const gdb_byte *gregs = (const gdb_byte *) regs;
-
-  gdb_assert (len >= tdep->sizeof_gregset + I387_SIZEOF_FSAVE);
-
-  i386_supply_gregset (regset, regcache, regnum, regs, tdep->sizeof_gregset);
-  i387_supply_fsave (regcache, regnum, gregs + tdep->sizeof_gregset);
-}
-
-static const struct regset i386obsd_aout_gregset =
-  {
-    NULL, i386obsd_aout_supply_regset, NULL
-  };
-
-static void
-i386obsd_aout_iterate_over_regset_sections (struct gdbarch *gdbarch,
-                                           iterate_over_regset_sections_cb *cb,
-                                           void *cb_data,
-                                           const struct regcache *regcache)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  /* OpenBSD a.out core dumps don't use seperate register sets for the
-     general-purpose and floating-point registers.  */
-
-  cb (".reg", tdep->sizeof_gregset + I387_SIZEOF_FSAVE,
-      &i386obsd_aout_gregset, NULL, cb_data);
-}
 \f
 
 /* Sigtramp routine location for OpenBSD 3.1 and earlier releases.  */
@@ -445,6 +411,7 @@ i386obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   /* Obviously OpenBSD is BSD-based.  */
   i386bsd_init_abi (info, gdbarch);
   obsd_init_abi (info, gdbarch);
+  i386_elf_init_abi (info, gdbarch);
 
   /* OpenBSD has a different `struct reg'.  */
   tdep->gregset_reg_offset = i386obsd_r_reg_offset;
@@ -470,30 +437,6 @@ i386obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
   /* Unwind kernel trap frames correctly.  */
   frame_unwind_prepend_unwinder (gdbarch, &i386obsd_trapframe_unwind);
-}
-
-/* OpenBSD a.out.  */
-
-static void
-i386obsd_aout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
-{
-  i386obsd_init_abi (info, gdbarch);
-
-  /* OpenBSD a.out has a single register set.  */
-  set_gdbarch_iterate_over_regset_sections
-    (gdbarch, i386obsd_aout_iterate_over_regset_sections);
-}
-
-/* OpenBSD ELF.  */
-
-static void
-i386obsd_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
-{
-  /* It's still OpenBSD.  */
-  i386obsd_init_abi (info, gdbarch);
-
-  /* But ELF-based.  */
-  i386_elf_init_abi (info, gdbarch);
 
   /* OpenBSD ELF uses SVR4-style shared libraries.  */
   set_solib_svr4_fetch_link_map_offsets
@@ -507,14 +450,6 @@ void _initialize_i386obsd_tdep (void);
 void
 _initialize_i386obsd_tdep (void)
 {
-  /* FIXME: kettenis/20021020: Since OpenBSD/i386 binaries are
-     indistingushable from NetBSD/i386 a.out binaries, building a GDB
-     that should support both these targets will probably not work as
-     expected.  */
-#define GDB_OSABI_OPENBSD_AOUT GDB_OSABI_NETBSD_AOUT
-
-  gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_OPENBSD_AOUT,
-                         i386obsd_aout_init_abi);
-  gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_OPENBSD_ELF,
-                         i386obsd_elf_init_abi);
+  gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_OPENBSD,
+                         i386obsd_init_abi);
 }
index 0d2a4e9577f8512a7e739608f8699d8236c068e0..349774dadb79aebe96fb54d47e8ae093f1d166cd 100644 (file)
@@ -129,60 +129,6 @@ m68kbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
 }
 \f
 
-/* Signal trampolines.  */
-
-static void
-m68kobsd_sigtramp_cache_init (const struct tramp_frame *self,
-                             struct frame_info *this_frame,
-                             struct trad_frame_cache *this_cache,
-                             CORE_ADDR func)
-{
-  CORE_ADDR addr, base, pc;
-  int regnum;
-
-  base = get_frame_register_unsigned (this_frame, M68K_SP_REGNUM);
-
-  /* The 'addql #4,%sp' instruction at offset 8 adjusts the stack
-     pointer.  Adjust the frame base accordingly.  */
-  pc = get_frame_register_unsigned (this_frame, M68K_PC_REGNUM);
-  if ((pc - func) > 8)
-    base -= 4;
-
-  /* Get frame pointer, stack pointer, program counter and processor
-     state from `struct sigcontext'.  */
-  addr = get_frame_memory_unsigned (this_frame, base + 8, 4);
-  trad_frame_set_reg_addr (this_cache, M68K_FP_REGNUM, addr + 8);
-  trad_frame_set_reg_addr (this_cache, M68K_SP_REGNUM, addr + 12);
-  trad_frame_set_reg_addr (this_cache, M68K_PC_REGNUM, addr + 20);
-  trad_frame_set_reg_addr (this_cache, M68K_PS_REGNUM, addr + 24);
-
-  /* The sc_ap member of `struct sigcontext' points to additional
-     hardware state.  Here we find the missing registers.  */
-  addr = get_frame_memory_unsigned (this_frame, addr + 16, 4) + 4;
-  for (regnum = M68K_D0_REGNUM; regnum < M68K_FP_REGNUM; regnum++, addr += 4)
-    trad_frame_set_reg_addr (this_cache, regnum, addr);
-
-  /* Construct the frame ID using the function start.  */
-  trad_frame_set_id (this_cache, frame_id_build (base, func));
-}
-
-static const struct tramp_frame m68kobsd_sigtramp = {
-  SIGTRAMP_FRAME,
-  2,
-  {
-    { 0x206f, -1 }, { 0x000c, -1},     /* moveal %sp@(12),%a0 */
-    { 0x4e90, -1 },                    /* jsr %a0@ */
-    { 0x588f, -1 },                    /* addql #4,%sp */
-    { 0x4e41, -1 },                    /* trap #1 */
-    { 0x2f40, -1 }, { 0x0004, -1 },    /* moveal %d0,%sp@(4) */
-    { 0x7001, -1 },                    /* moveq #SYS_exit,%d0 */
-    { 0x4e40, -1 },                    /* trap #0 */
-    { TRAMP_SENTINEL_INSN, -1 }
-  },
-  m68kobsd_sigtramp_cache_init
-};
-\f
-
 static void
 m68kbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
@@ -195,30 +141,6 @@ m68kbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
   set_gdbarch_iterate_over_regset_sections
     (gdbarch, m68kbsd_iterate_over_regset_sections);
-}
-
-/* OpenBSD and NetBSD a.out.  */
-
-static void
-m68kbsd_aout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  m68kbsd_init_abi (info, gdbarch);
-
-  tdep->struct_return = reg_struct_return;
-
-  tramp_frame_prepend_unwinder (gdbarch, &m68kobsd_sigtramp);
-}
-
-/* NetBSD ELF.  */
-
-static void
-m68kbsd_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  m68kbsd_init_abi (info, gdbarch);
 
   /* NetBSD ELF uses the SVR4 ABI.  */
   m68k_svr4_init_abi (info, gdbarch);
@@ -230,41 +152,12 @@ m68kbsd_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 }
 \f
 
-static enum gdb_osabi
-m68kbsd_aout_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "a.out-m68k-netbsd") == 0
-      || strcmp (bfd_get_target (abfd), "a.out-m68k4k-netbsd") == 0)
-    return GDB_OSABI_NETBSD_AOUT;
-
-  return GDB_OSABI_UNKNOWN;
-}
-
-static enum gdb_osabi
-m68kbsd_core_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "netbsd-core") == 0)
-    return GDB_OSABI_NETBSD_AOUT;
-
-  return GDB_OSABI_UNKNOWN;
-}
-\f
-
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 void _initialize_m68kbsd_tdep (void);
 
 void
 _initialize_m68kbsd_tdep (void)
 {
-  gdbarch_register_osabi_sniffer (bfd_arch_m68k, bfd_target_aout_flavour,
-                                 m68kbsd_aout_osabi_sniffer);
-
-  /* BFD doesn't set a flavour for NetBSD style a.out core files.  */
-  gdbarch_register_osabi_sniffer (bfd_arch_m68k, bfd_target_unknown_flavour,
-                                 m68kbsd_core_osabi_sniffer);
-
-  gdbarch_register_osabi (bfd_arch_m68k, 0, GDB_OSABI_NETBSD_AOUT,
-                         m68kbsd_aout_init_abi);
-  gdbarch_register_osabi (bfd_arch_m68k, 0, GDB_OSABI_NETBSD_ELF,
-                         m68kbsd_elf_init_abi);
+  gdbarch_register_osabi (bfd_arch_m68k, 0, GDB_OSABI_NETBSD,
+                         m68kbsd_init_abi);
 }
index 2d7cd821f3e50a7bdd5a61806819a0676749dfd7..7934c8dde1f6fdcc8580f26f7a6e896ee82354d3 100644 (file)
@@ -380,6 +380,6 @@ extern initialize_file_ftype _initialize_mipsnbsd_tdep;
 void
 _initialize_mipsnbsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_NETBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_NETBSD,
                          mipsnbsd_init_abi);
 }
index df8ec0f8dd8cd94226d77ad42bb25f0bc68f8449..5209ab4fd8b28b0ae2552e1674bb0a008058a0fe 100644 (file)
@@ -165,6 +165,6 @@ void _initialize_mips64obsd_tdep (void);
 void
 _initialize_mips64obsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_OPENBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_OPENBSD,
                          mips64obsd_init_abi);
 }
index 8b44a8561945cba10f702b6079b1bdbfe032950c..69d95f6dfe686fd1f0a552fa79c9315d8ed13213 100644 (file)
@@ -64,15 +64,11 @@ static const struct osabi_names gdb_osabi_names[] =
   { "GNU/Hurd", NULL },
   { "Solaris", NULL },
   { "GNU/Linux", "linux(-gnu)?" },
-  { "FreeBSD/a.out", NULL },
-  { "FreeBSD/ELF", NULL },
-  { "NetBSD/a.out", NULL },
-  { "NetBSD/ELF", NULL },
-  { "OpenBSD/ELF", NULL },
+  { "FreeBSD", NULL },
+  { "NetBSD", NULL },
+  { "OpenBSD", NULL },
   { "WindowsCE", NULL },
   { "DJGPP", NULL },
-  { "HP-UX/ELF", NULL },
-  { "HP-UX/SOM", NULL },
   { "QNX-Neutrino", NULL },
   { "Cygwin", NULL },
   { "AIX", NULL },
@@ -482,11 +478,11 @@ generic_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect, void *obj)
              break;
 
            case GNU_ABI_TAG_FREEBSD:
-             *osabi = GDB_OSABI_FREEBSD_ELF;
+             *osabi = GDB_OSABI_FREEBSD;
              break;
 
            case GNU_ABI_TAG_NETBSD:
-             *osabi = GDB_OSABI_NETBSD_ELF;
+             *osabi = GDB_OSABI_NETBSD;
              break;
 
            default:
@@ -501,7 +497,7 @@ generic_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect, void *obj)
                      NT_FREEBSD_ABI_TAG))
        {
          /* There is no need to check the version yet.  */
-         *osabi = GDB_OSABI_FREEBSD_ELF;
+         *osabi = GDB_OSABI_FREEBSD;
          return;
        }
 
@@ -513,7 +509,7 @@ generic_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect, void *obj)
       && check_note (abfd, sect, note, &sectsize, "NetBSD", 4, NT_NETBSD_IDENT))
     {
       /* There is no need to check the version yet.  */
-      *osabi = GDB_OSABI_NETBSD_ELF;
+      *osabi = GDB_OSABI_NETBSD;
       return;
     }
 
@@ -523,14 +519,14 @@ generic_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect, void *obj)
                     NT_OPENBSD_IDENT))
     {
       /* There is no need to check the version yet.  */
-      *osabi = GDB_OSABI_OPENBSD_ELF;
+      *osabi = GDB_OSABI_OPENBSD;
       return;
     }
 
   /* .note.netbsdcore.procinfo notes, used by NetBSD.  */
   if (strcmp (name, ".note.netbsdcore.procinfo") == 0)
     {
-      *osabi = GDB_OSABI_NETBSD_ELF;
+      *osabi = GDB_OSABI_NETBSD;
       return;
     }
 }
@@ -547,6 +543,7 @@ generic_elf_osabi_sniffer (bfd *abfd)
     {
     case ELFOSABI_NONE:
     case ELFOSABI_GNU:
+    case ELFOSABI_HPUX:
       /* When the EI_OSABI field in the ELF header is ELFOSABI_NONE
         (0), then the ELF structures in the file are conforming to
         the base specification for that machine (there are no
@@ -555,34 +552,27 @@ generic_elf_osabi_sniffer (bfd *abfd)
 
         The same applies for ELFOSABI_GNU: this can mean GNU/Hurd,
         GNU/Linux, and possibly more.  */
+
+      /* And likewise ELFOSABI_HPUX.  For some reason the default
+        value for the EI_OSABI field is ELFOSABI_HPUX for all PA-RISC
+        targets (with the exception of GNU/Linux).  */
       bfd_map_over_sections (abfd,
                             generic_elf_osabi_sniff_abi_tag_sections,
                             &osabi);
       break;
 
     case ELFOSABI_FREEBSD:
-      osabi = GDB_OSABI_FREEBSD_ELF;
+      osabi = GDB_OSABI_FREEBSD;
       break;
 
     case ELFOSABI_NETBSD:
-      osabi = GDB_OSABI_NETBSD_ELF;
+      osabi = GDB_OSABI_NETBSD;
       break;
 
     case ELFOSABI_SOLARIS:
       osabi = GDB_OSABI_SOLARIS;
       break;
 
-    case ELFOSABI_HPUX:
-      /* For some reason the default value for the EI_OSABI field is
-        ELFOSABI_HPUX for all PA-RISC targets (with the exception of
-        GNU/Linux).  We use HP-UX ELF as the default, but let any
-        OS-specific notes override this.  */
-      osabi = GDB_OSABI_HPUX_ELF;
-      bfd_map_over_sections (abfd,
-                            generic_elf_osabi_sniff_abi_tag_sections,
-                            &osabi);
-      break;
-
     case ELFOSABI_OPENVMS:
       osabi = GDB_OSABI_OPENVMS;
       break;
@@ -595,7 +585,7 @@ generic_elf_osabi_sniffer (bfd *abfd)
         header to "brand" their ELF binaries in FreeBSD 3.x.  */
       if (memcmp (&elf_elfheader (abfd)->e_ident[8],
                  "FreeBSD", sizeof ("FreeBSD")) == 0)
-       osabi = GDB_OSABI_FREEBSD_ELF;
+       osabi = GDB_OSABI_FREEBSD;
     }
 
   return osabi;
index 0e5ead6d3f82c01835cfffe09952ca5de57c3def..3d2b57802507b285496ece8084ab488a8bbb136c 100644 (file)
@@ -343,11 +343,10 @@ void _initialize_ppcfbsd_tdep (void);
 void
 _initialize_ppcfbsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_powerpc, bfd_mach_ppc, GDB_OSABI_FREEBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_powerpc, bfd_mach_ppc, GDB_OSABI_FREEBSD,
                          ppcfbsd_init_abi);
-  gdbarch_register_osabi (bfd_arch_powerpc, bfd_mach_ppc64,
-                         GDB_OSABI_FREEBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_powerpc, bfd_mach_ppc64, GDB_OSABI_FREEBSD,
                          ppcfbsd_init_abi);
-  gdbarch_register_osabi (bfd_arch_rs6000, 0, GDB_OSABI_FREEBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_rs6000, 0, GDB_OSABI_FREEBSD,
                          ppcfbsd_init_abi);
 }
index a730ebdf6e650b69876857f4b31e75d16839849d..331540d1d67172f076bbfceeca00fee10a57d001 100644 (file)
@@ -195,7 +195,7 @@ void _initialize_ppcnbsd_tdep (void);
 void
 _initialize_ppcnbsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_powerpc, 0, GDB_OSABI_NETBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_powerpc, 0, GDB_OSABI_NETBSD,
                          ppcnbsd_init_abi);
 
   /* Avoid initializing the register offsets again if they were
index f61dd24b961ab78886b26b37b27db2a602d70271..efc785f9fd48b23ebc3458c2e2502a473425e5dc 100644 (file)
@@ -262,33 +262,15 @@ ppcobsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 }
 \f
 
-/* OpenBSD uses uses the traditional NetBSD core file format, even for
-   ports that use ELF.  */
-#define GDB_OSABI_NETBSD_CORE GDB_OSABI_OPENBSD_ELF
-
-static enum gdb_osabi
-ppcobsd_core_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "netbsd-core") == 0)
-    return GDB_OSABI_NETBSD_CORE;
-
-  return GDB_OSABI_UNKNOWN;
-}
-\f
-
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 void _initialize_ppcobsd_tdep (void);
 
 void
 _initialize_ppcobsd_tdep (void)
 {
-  /* BFD doesn't set a flavour for NetBSD style a.out core files.  */
-  gdbarch_register_osabi_sniffer (bfd_arch_powerpc, bfd_target_unknown_flavour,
-                                  ppcobsd_core_osabi_sniffer);
-
-  gdbarch_register_osabi (bfd_arch_rs6000, 0, GDB_OSABI_OPENBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_rs6000, 0, GDB_OSABI_OPENBSD,
                          ppcobsd_init_abi);
-  gdbarch_register_osabi (bfd_arch_powerpc, 0, GDB_OSABI_OPENBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_powerpc, 0, GDB_OSABI_OPENBSD,
                          ppcobsd_init_abi);
 
   /* Avoid initializing the register offsets again if they were
index 1c26e1edaf8699ce1a8a786e77f5e0ced2d7bcb2..8c542769de84700321f4f4842bf9f7347b3667a6 100644 (file)
@@ -6530,8 +6530,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   switch (info.osabi)
     {
     case GDB_OSABI_LINUX:
-    case GDB_OSABI_NETBSD_AOUT:
-    case GDB_OSABI_NETBSD_ELF:
+    case GDB_OSABI_NETBSD:
     case GDB_OSABI_UNKNOWN:
       set_gdbarch_unwind_pc (gdbarch, rs6000_unwind_pc);
       frame_unwind_append_unwinder (gdbarch, &rs6000_epilogue_frame_unwind);
index b5c70ef91c3b61cb82f263770f7210fa48a8d55d..41fc8a24e1442555ea9f3a285904b8d2b4d10253 100644 (file)
@@ -71,31 +71,14 @@ shnbsd_init_abi (struct gdbarch_info info,
 }
 \f
 
-/* OpenBSD uses uses the traditional NetBSD core file format, even for
-   ports that use ELF.  */
-#define GDB_OSABI_NETBSD_CORE GDB_OSABI_OPENBSD_ELF
-
-static enum gdb_osabi
-shnbsd_core_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "netbsd-core") == 0)
-    return GDB_OSABI_NETBSD_CORE;
-
-  return GDB_OSABI_UNKNOWN;
-}
-
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 extern initialize_file_ftype _initialize_shnbsd_tdep;
 
 void
 _initialize_shnbsd_tdep (void)
 {
-  /* BFD doesn't set a flavour for NetBSD style a.out core files.  */
-  gdbarch_register_osabi_sniffer (bfd_arch_sh, bfd_target_unknown_flavour,
-                                  shnbsd_core_osabi_sniffer);
-
-  gdbarch_register_osabi (bfd_arch_sh, 0, GDB_OSABI_NETBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_sh, 0, GDB_OSABI_NETBSD,
                          shnbsd_init_abi);
-  gdbarch_register_osabi (bfd_arch_sh, 0, GDB_OSABI_OPENBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_sh, 0, GDB_OSABI_OPENBSD,
                          shnbsd_init_abi);
 }
index db370e9ff87c6aa6413161ead9a5a722390699cc..c4b2cdc40ec7df2bae34ceb7fdd7cce6d32ffd18 100644 (file)
@@ -1240,29 +1240,7 @@ clear_solib (void)
 {
   const struct target_so_ops *ops = solib_ops (target_gdbarch ());
 
-  /* This function is expected to handle ELF shared libraries.  It is
-     also used on Solaris, which can run either ELF or a.out binaries
-     (for compatibility with SunOS 4), both of which can use shared
-     libraries.  So we don't know whether we have an ELF executable or
-     an a.out executable until the user chooses an executable file.
-
-     ELF shared libraries don't get mapped into the address space
-     until after the program starts, so we'd better not try to insert
-     breakpoints in them immediately.  We have to wait until the
-     dynamic linker has loaded them; we'll hit a bp_shlib_event
-     breakpoint (look for calls to create_solib_event_breakpoint) when
-     it's ready.
-
-     SunOS shared libraries seem to be different --- they're present
-     as soon as the process begins execution, so there's no need to
-     put off inserting breakpoints.  There's also nowhere to put a
-     bp_shlib_event breakpoint, so if we put it off, we'll never get
-     around to it.
-
-     So: disable breakpoints only if we're using ELF shared libs.  */
-  if (exec_bfd != NULL
-      && bfd_get_flavour (exec_bfd) != bfd_target_aout_flavour)
-    disable_breakpoints_in_shlibs ();
+  disable_breakpoints_in_shlibs ();
 
   while (so_list_head)
     {
index 7fa384de649acf4a04fa337d524cba8b375299e6..b1427a36cff5e23a948332ca63589ad6762e4d80 100644 (file)
@@ -290,7 +290,7 @@ static const struct regset sparc32nbsd_fpregset =
     NULL, sparc32nbsd_supply_fpregset, NULL
   };
 
-static void
+void
 sparc32nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -309,54 +309,11 @@ sparc32nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   tdep->step_trap = sparcnbsd_step_trap;
 
   frame_unwind_append_unwinder (gdbarch, &sparc32nbsd_sigcontext_frame_unwind);
-}
-
-static void
-sparc32nbsd_aout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
-{
-  sparc32nbsd_init_abi (info, gdbarch);
-}
-
-void
-sparc32nbsd_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
-{
-  sparc32nbsd_init_abi (info, gdbarch);
 
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
 }
 
-static enum gdb_osabi
-sparcnbsd_aout_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "a.out-sparc-netbsd") == 0)
-    return GDB_OSABI_NETBSD_AOUT;
-
-  return GDB_OSABI_UNKNOWN;
-}
-
-/* OpenBSD uses the traditional NetBSD core file format, even for
-   ports that use ELF.  Therefore, if the default OS ABI is OpenBSD
-   ELF, we return that instead of NetBSD a.out.  This is mainly for
-   the benfit of OpenBSD/sparc64, which inherits the sniffer below
-   since we include this file for an OpenBSD/sparc64 target.  For
-   OpenBSD/sparc, the NetBSD a.out OS ABI is probably similar enough
-   to both the OpenBSD a.out and the OpenBSD ELF OS ABI.  */
-#if defined (GDB_OSABI_DEFAULT) && (GDB_OSABI_DEFAULT == GDB_OSABI_OPENBSD_ELF)
-#define GDB_OSABI_NETBSD_CORE GDB_OSABI_OPENBSD_ELF
-#else
-#define GDB_OSABI_NETBSD_CORE GDB_OSABI_NETBSD_AOUT
-#endif
-
-static enum gdb_osabi
-sparcnbsd_core_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "netbsd-core") == 0)
-    return GDB_OSABI_NETBSD_CORE;
-
-  return GDB_OSABI_UNKNOWN;
-}
-
 \f
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 void _initialize_sparcnbsd_tdep (void);
@@ -364,15 +321,6 @@ void _initialize_sparcnbsd_tdep (void);
 void
 _initialize_sparcnbsd_tdep (void)
 {
-  gdbarch_register_osabi_sniffer (bfd_arch_sparc, bfd_target_aout_flavour,
-                                 sparcnbsd_aout_osabi_sniffer);
-
-  /* BFD doesn't set a flavour for NetBSD style a.out core files.  */
-  gdbarch_register_osabi_sniffer (bfd_arch_sparc, bfd_target_unknown_flavour,
-                                  sparcnbsd_core_osabi_sniffer);
-
-  gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_NETBSD_AOUT,
-                         sparc32nbsd_aout_init_abi);
-  gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_NETBSD_ELF,
-                         sparc32nbsd_elf_init_abi);
+  gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_NETBSD,
+                         sparc32nbsd_init_abi);
 }
index 21c8d6a81489a7d21bf2e1a955c03dd9e33da860..cbf11c992d87fbdf87e89e9770273743c3bdc100 100644 (file)
@@ -235,7 +235,7 @@ static void
 sparc32obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
   /* OpenBSD/sparc is very similar to NetBSD/sparc ELF.  */
-  sparc32nbsd_elf_init_abi (info, gdbarch);
+  sparc32nbsd_init_abi (info, gdbarch);
 
   set_gdbarch_skip_solib_resolver (gdbarch, obsd_skip_solib_resolver);
 
@@ -253,6 +253,6 @@ void _initialize_sparc32obsd_tdep (void);
 void
 _initialize_sparc32obsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_OPENBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_OPENBSD,
                          sparc32obsd_init_abi);
 }
index 6785e011767664820f8d666be94001b9fefd2d8b..704c004823f640bf5dedc37aa1d2d54cd2e61315 100644 (file)
@@ -246,8 +246,8 @@ extern const struct sparc_gregmap sparc32nbsd_gregmap;
 extern CORE_ADDR sparcnbsd_step_trap (struct frame_info *frame,
                                      unsigned long insn);
 
-extern void sparc32nbsd_elf_init_abi (struct gdbarch_info info,
-                                     struct gdbarch *gdbarch);
+extern void sparc32nbsd_init_abi (struct gdbarch_info info,
+                                 struct gdbarch *gdbarch);
 
 extern struct trad_frame_saved_reg *
   sparc32nbsd_sigcontext_saved_regs (struct frame_info *next_frame);
index 27ca52e66a21485f9bb23a4b8438520fefe9e3f5..7ce21260c6fdea5879339558a881056793159e0f 100644 (file)
@@ -248,5 +248,5 @@ void
 _initialize_sparc64fbsd_tdep (void)
 {
   gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
-                         GDB_OSABI_FREEBSD_ELF, sparc64fbsd_init_abi);
+                         GDB_OSABI_FREEBSD, sparc64fbsd_init_abi);
 }
index 1abb721e2e01110bdf507ab3b02e3d8e9738db44..71d40d5a1b131af9a6efcb3f83a2d87e6769bb0a 100644 (file)
@@ -276,5 +276,5 @@ void
 _initialize_sparc64nbsd_tdep (void)
 {
   gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
-                         GDB_OSABI_NETBSD_ELF, sparc64nbsd_init_abi);
+                         GDB_OSABI_NETBSD, sparc64nbsd_init_abi);
 }
index a90ae1dc103a4061763a13330e60b9f06f06d8a3..1a926444631eba55cf227a15e4b357a33dd10bef 100644 (file)
@@ -448,5 +448,5 @@ void
 _initialize_sparc64obsd_tdep (void)
 {
   gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
-                         GDB_OSABI_OPENBSD_ELF, sparc64obsd_init_abi);
+                         GDB_OSABI_OPENBSD, sparc64obsd_init_abi);
 }
index d72db145f7de739c885fd82af251f8110879b2a4..47e489fdd11ffcf296d111c78de8fb14d74b2b5a 100644 (file)
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Support routines for reading and decoding debugging information in
-   the "stabs" format.  This format is used with many systems that use
-   the a.out object file format, as well as some systems that use
-   COFF or ELF where the stabs data is placed in a special section.
-   Avoid placing any object file format specific code in this file.  */
+   the "stabs" format.  This format is used by some systems that use
+   COFF or ELF where the stabs data is placed in a special section (as
+   well as with many old systems that used the a.out object file
+   format).  Avoid placing any object file format specific code in
+   this file.  */
 
 #include "defs.h"
 #include "bfd.h"
index bba8a710df0c6529082c75280defdc68287119ae..ba6883d54e9dca79d65c9ef00dea84fba4b43aae 100644 (file)
@@ -139,7 +139,7 @@ print_objfile_statistics (void)
                      blockvectors);
 
     if (OBJSTAT (objfile, sz_strtab) > 0)
-      printf_filtered (_("  Space used by a.out string tables: %d\n"),
+      printf_filtered (_("  Space used by string tables: %d\n"),
                       OBJSTAT (objfile, sz_strtab));
     printf_filtered (_("  Total memory used for objfile obstack: %s\n"),
                     pulongest (obstack_memory_used (&objfile
index 1302dcd1811d823c9fce5d8fe3086c9580b2534a..f6c82087e03509293044f4a10d98de914f287109 100644 (file)
@@ -41,6 +41,6 @@ void _initialize_vaxnbsd_tdep (void);
 void
 _initialize_vaxnbsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_vax, 0, GDB_OSABI_NETBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_vax, 0, GDB_OSABI_NETBSD,
                          vaxnbsd_elf_init_abi);
 }
diff --git a/gdb/vax-obsd-tdep.c b/gdb/vax-obsd-tdep.c
deleted file mode 100644 (file)
index ee48ac6..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Target-dependent code for OpenBSD/vax.
-
-   Copyright (C) 2005-2016 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 3 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, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "arch-utils.h"
-#include "frame.h"
-#include "frame-unwind.h"
-#include "osabi.h"
-#include "symtab.h"
-#include "trad-frame.h"
-
-#include "vax-tdep.h"
-
-/* Signal trampolines.  */
-
-/* Since OpenBSD 3.2, the sigtramp routine is mapped at a random page
-   in virtual memory.  The randomness makes it somewhat tricky to
-   detect it, but fortunately we can rely on the fact that the start
-   of the sigtramp routine is page-aligned.  We recognize the
-   trampoline by looking for the code that invokes the sigreturn
-   system call.  The offset where we can find that code varies from
-   release to release.
-
-   By the way, the mapping mentioned above is read-only, so you cannot
-   place a breakpoint in the signal trampoline.  */
-
-/* Default page size.  */
-static const int vaxobsd_page_size = 4096;
-
-/* Offset for sigreturn(2).  */
-static const int vaxobsd_sigreturn_offset = 0x11;
-
-/* Instruction sequence for sigreturn(2).  VAX doesn't have
-   fixed-length instructions so we include the ensuing exit(2) to
-   reduce the chance of spurious matches.  */
-static const gdb_byte vaxobsd_sigreturn[] = {
-  0xbc, 0x8f, 0x67, 0x00,      /* chmk $SYS_sigreturn */
-  0xbc, 0x01                   /* chmk $SYS_exit */
-};
-
-static int
-vaxobsd_sigtramp_sniffer (const struct frame_unwind *self,
-                         struct frame_info *this_frame,
-                         void **this_cache)
-{
-  CORE_ADDR pc = get_frame_pc (this_frame);
-  CORE_ADDR start_pc = (pc & ~(vaxobsd_page_size - 1));
-  CORE_ADDR sigreturn_addr = start_pc + vaxobsd_sigreturn_offset;
-  gdb_byte *buf;
-  const char *name;
-
-  find_pc_partial_function (pc, &name, NULL, NULL);
-  if (name)
-    return 0;
-
-  buf = (gdb_byte *) alloca (sizeof vaxobsd_sigreturn);
-  if (!safe_frame_unwind_memory (this_frame, sigreturn_addr,
-                                buf, sizeof vaxobsd_sigreturn))
-    return 0;
-
-  if (memcmp(buf, vaxobsd_sigreturn, sizeof vaxobsd_sigreturn) == 0)
-    return 1;
-
-  return 0;
-}
-
-static struct trad_frame_cache *
-vaxobsd_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache)
-{
-  struct trad_frame_cache *cache;
-  CORE_ADDR addr, base, func;
-
-  if (*this_cache)
-    return (struct trad_frame_cache *) *this_cache;
-
-  cache = trad_frame_cache_zalloc (this_frame);
-  *this_cache = cache;
-
-  func = get_frame_pc (this_frame);
-  func &= ~(vaxobsd_page_size - 1);
-
-  base = get_frame_register_unsigned (this_frame, VAX_SP_REGNUM);
-  addr = get_frame_memory_unsigned (this_frame, base - 4, 4);
-
-  trad_frame_set_reg_addr (cache, VAX_SP_REGNUM, addr + 8);
-  trad_frame_set_reg_addr (cache, VAX_FP_REGNUM, addr + 12);
-  trad_frame_set_reg_addr (cache, VAX_AP_REGNUM, addr + 16);
-  trad_frame_set_reg_addr (cache, VAX_PC_REGNUM, addr + 20);
-  trad_frame_set_reg_addr (cache, VAX_PS_REGNUM, addr + 24);
-
-  /* Construct the frame ID using the function start.  */
-  trad_frame_set_id (cache, frame_id_build (base, func));
-
-  return cache;
-}
-
-static void
-vaxobsd_sigtramp_frame_this_id (struct frame_info *this_frame,
-                               void **this_cache, struct frame_id *this_id)
-{
-  struct trad_frame_cache *cache =
-    vaxobsd_sigtramp_frame_cache (this_frame, this_cache);
-
-  trad_frame_get_id (cache, this_id);
-}
-
-static struct value *
-vaxobsd_sigtramp_frame_prev_register (struct frame_info *this_frame,
-                                     void **this_cache, int regnum)
-{
-  struct trad_frame_cache *cache =
-    vaxobsd_sigtramp_frame_cache (this_frame, this_cache);
-
-  return trad_frame_get_register (cache, this_frame, regnum);
-}
-
-static const struct frame_unwind vaxobsd_sigtramp_frame_unwind = {
-  SIGTRAMP_FRAME,
-  default_frame_unwind_stop_reason,
-  vaxobsd_sigtramp_frame_this_id,
-  vaxobsd_sigtramp_frame_prev_register,
-  NULL,
-  vaxobsd_sigtramp_sniffer
-};
-\f
-
-/* OpenBSD a.out.  */
-
-static void
-vaxobsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
-{
-  frame_unwind_append_unwinder (gdbarch, &vaxobsd_sigtramp_frame_unwind);
-}
-
-/* FIXME: kettenis/20050821: Since OpenBSD/vax binaries are
-   indistingushable from NetBSD/vax a.out binaries, building a GDB
-   that should support both these targets will probably not work as
-   expected.  */
-#define GDB_OSABI_OPENBSD_AOUT GDB_OSABI_NETBSD_AOUT
-
-static enum gdb_osabi
-vaxobsd_aout_osabi_sniffer (bfd *abfd)
-{
-  if (strcmp (bfd_get_target (abfd), "a.out-vax-netbsd") == 0)
-    return GDB_OSABI_OPENBSD_AOUT;
-
-  return GDB_OSABI_UNKNOWN;
-}
-\f
-
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-void _initialize_vaxobsd_tdep (void);
-
-void
-_initialize_vaxobsd_tdep (void)
-{
-  gdbarch_register_osabi_sniffer (bfd_arch_vax, bfd_target_aout_flavour,
-                                 vaxobsd_aout_osabi_sniffer);
-
-  gdbarch_register_osabi (bfd_arch_vax, 0, GDB_OSABI_OPENBSD_AOUT,
-                         vaxobsd_init_abi);
-}