From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7416 invoked by alias); 22 Sep 2013 12:26:57 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 7402 invoked by uid 89); 22 Sep 2013 12:26:56 -0000 Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 22 Sep 2013 12:26:56 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.6 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r8MCQrc3002122 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sun, 22 Sep 2013 08:26:53 -0400 Received: from host2.jankratochvil.net (ovpn-116-46.ams2.redhat.com [10.36.116.46]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r8MCQkBr024483 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sun, 22 Sep 2013 08:26:49 -0400 Date: Sun, 22 Sep 2013 12:26:00 -0000 From: Jan Kratochvil To: Mark Kettenis Cc: gdb-patches@sourceware.org, Pedro Alves Subject: Re: [patchv4 1/2] Remove a.out NetBSD and OpenBSD hosta and targets Message-ID: <20130922122646.GA2748@host2.jankratochvil.net> References: <201309200924.r8K9OSa9032694@glazunov.sibelius.xs4all.nl> <523C0AAC.800@redhat.com> <20130921131311.GA10222@host2.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130921131311.GA10222@host2.jankratochvil.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes X-SW-Source: 2013-09/txt/msg00795.txt.bz2 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); }