This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patchv4 1/2] Remove a.out NetBSD and OpenBSD hosta and targets


Hi Mark,

additionally I thought one can remove a.out support from *bsd-{nat,tdep}.c
files.  But then I found in sparcnbsd-tdep.c:

/* 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

OTOH there is even code for ELF BSD core files. Still the patch would probably
regress OpenBSD so just posting it here as is FYI without ChangeLog.


Jan


 gdb/armnbsd-nat.c    | 29 -----------------------------
 gdb/armnbsd-tdep.c   | 25 -------------------------
 gdb/i386bsd-tdep.c   | 38 --------------------------------------
 gdb/m68kbsd-tdep.c   | 43 -------------------------------------------
 gdb/sparcnbsd-tdep.c | 46 ----------------------------------------------
 5 files changed, 181 deletions(-)

diff --git a/gdb/armnbsd-nat.c b/gdb/armnbsd-nat.c
index 81cb2b0..720a801 100644
--- a/gdb/armnbsd-nat.c
+++ b/gdb/armnbsd-nat.c
@@ -411,25 +411,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,
@@ -470,15 +451,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.  */
@@ -498,6 +470,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);
 }
diff --git a/gdb/armnbsd-tdep.c b/gdb/armnbsd-tdep.c
index abb7637..8113a4b 100644
--- a/gdb/armnbsd-tdep.c
+++ b/gdb/armnbsd-tdep.c
@@ -72,17 +72,6 @@ arm_netbsd_init_abi_common (struct gdbarch_info info,
 }
   
 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)
 {
@@ -97,26 +86,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,
                           arm_netbsd_elf_init_abi);
 }
diff --git a/gdb/i386bsd-tdep.c b/gdb/i386bsd-tdep.c
index aa10393..f608889 100644
--- a/gdb/i386bsd-tdep.c
+++ b/gdb/i386bsd-tdep.c
@@ -22,7 +22,6 @@
 #include "frame.h"
 #include "gdbcore.h"
 #include "regcache.h"
-#include "osabi.h"
 
 #include "gdb_string.h"
 
@@ -86,40 +85,3 @@ i386bsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   tdep->sc_reg_offset = i386bsd_sc_reg_offset;
   tdep->sc_num_regs = ARRAY_SIZE (i386bsd_sc_reg_offset);
 }
-
-
-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;
-}
-
-
-/* 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);
-}
diff --git a/gdb/m68kbsd-tdep.c b/gdb/m68kbsd-tdep.c
index 178acee..4a4d715 100644
--- a/gdb/m68kbsd-tdep.c
+++ b/gdb/m68kbsd-tdep.c
@@ -202,20 +202,6 @@ m68kbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
     (gdbarch, m68kbsd_regset_from_core_section);
 }
 
-/* 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
@@ -235,41 +221,12 @@ m68kbsd_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 }
 
 
-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;
-}
-
-
 /* 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);
 }
diff --git a/gdb/sparcnbsd-tdep.c b/gdb/sparcnbsd-tdep.c
index 7fff210..8d35994 100644
--- a/gdb/sparcnbsd-tdep.c
+++ b/gdb/sparcnbsd-tdep.c
@@ -304,12 +304,6 @@ sparc32nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   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)
 {
@@ -319,37 +313,6 @@ sparc32nbsd_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
     (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;
-}
-
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 void _initialize_sparcnbsd_tdep (void);
@@ -357,15 +320,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);
 }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]