From: Jan Kratochvil <jan.kratochvil@redhat.com>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: gdb-patches@sourceware.org, Pedro Alves <palves@redhat.com>
Subject: Re: [patchv4 1/2] Remove a.out NetBSD and OpenBSD hosta and targets
Date: Sun, 22 Sep 2013 12:26:00 -0000 [thread overview]
Message-ID: <20130922122646.GA2748@host2.jankratochvil.net> (raw)
In-Reply-To: <20130921131311.GA10222@host2.jankratochvil.net>
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);
}
-
-\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);
-}
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)
}
\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);
}
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;
-}
-
\f
/* 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);
}
next prev parent reply other threads:[~2013-09-22 12:26 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-19 20:02 [patch 1/2] Remove a.out NetBSD and OpenBSD targets Jan Kratochvil
2013-09-19 20:26 ` [patchv2 " Jan Kratochvil
2013-09-19 21:01 ` [patchv3 1/2] Remove a.out NetBSD and OpenBSD hosta and targets Jan Kratochvil
2013-09-20 7:40 ` Eli Zaretskii
2013-09-20 7:47 ` Jan Kratochvil
2013-09-20 8:36 ` Eli Zaretskii
2013-09-20 8:43 ` Pedro Alves
2013-09-21 13:13 ` [patchv4 " Jan Kratochvil
2013-09-22 12:26 ` Jan Kratochvil [this message]
2013-09-23 20:32 ` Mark Kettenis
2013-09-23 20:30 ` Mark Kettenis
2013-09-24 13:52 ` [commit] " Jan Kratochvil
2013-09-20 9:24 ` [patchv3 " Mark Kettenis
2013-09-20 7:40 ` [patchv2 1/2] Remove a.out NetBSD and OpenBSD targets Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130922122646.GA2748@host2.jankratochvil.net \
--to=jan.kratochvil@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=mark.kettenis@xs4all.nl \
--cc=palves@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox