diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2016-11-22 16:14:24 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2016-11-23 09:45:23 -0500 |
commit | 03b62bbbce3dc5f15131d9e78f77d035cd1cffb3 (patch) | |
tree | 5f5262a7b5dde10272613aca647f92f563a0e573 /gdb/ppcobsd-tdep.c | |
parent | b593ecca856860a8b38deb808493bba4beef3aee (diff) | |
download | gdb-03b62bbbce3dc5f15131d9e78f77d035cd1cffb3.zip gdb-03b62bbbce3dc5f15131d9e78f77d035cd1cffb3.tar.gz gdb-03b62bbbce3dc5f15131d9e78f77d035cd1cffb3.tar.bz2 |
Normalize names of some source files
Most tdep/nat files are named:
<cpu>-<os>-tdep.c
<cpu>-<os>-nat.c
A few files do not respect this scheme. This patch renames them so that
they are consistent with the rest of the files. It builds fine with
--enable-targets=all, but that doesn't test the nat files. I can only
hope that my grep skill is good enough.
gdb/ChangeLog:
* Makefile.in (ALL_64_TARGET_OBS, ALL_TARGET_OBS,
HFILES_NO_SRCDIR, ALLDEPFILES): Rename files.
* alphabsd-nat.c: Rename to ...
* alpha-bsd-nat.c: ... this, adjust include.
* alphabsd-tdep.c: Rename to ...
* alpha-bsd-tdep.c: ... this, adjust include.
* alphabsd-tdep.h: Rename to ...
* alpha-bsd-tdep.h: ... this, adjust include barrier and comment.
* alphafbsd-tdep.c: Rename to ...
* alpha-fbsd-tdep.c: ... this.
* alphanbsd-tdep.c: Rename to ...
* alpha-nbsd-tdep.c: ... this, adjust include.
* alphaobsd-tdep.c: Rename to ...
* alpha-obsd-tdep.c: ... this, adjust include.
* amd64bsd-nat.c: Rename to ...
* amd64-bsd-nat.c: ... this, adjust include.
* amd64fbsd-nat.c: Rename to ...
* amd64-fbsd-nat.c: ... this, adjust include.
* amd64fbsd-tdep.c: Rename to ...
* amd64-fbsd-tdep.c: ... this, adjust include.
* amd64nbsd-nat.c: Rename to ...
* amd64-nbsd-nat.c: ... this.
* amd64nbsd-tdep.c: Rename to ...
* amd64-nbsd-tdep.c: ... this.
* amd64obsd-nat.c: Rename to ...
* amd64-obsd-nat.c: ... this.
* amd64obsd-tdep.c: Rename to ...
* amd64-obsd-tdep.c: ... this.
* amd64-tdep.h: Update comments.
* armbsd-tdep.c: Rename to ...
* arm-bsd-tdep.c: ... this.
* armnbsd-nat.c: Rename to ...
* arm-nbsd-nat.c: ... this.
* armnbsd-tdep.c: Rename to ...
* arm-nbsd-tdep.c: ... this.
* armobsd-tdep.c: Rename to ...
* arm-obsd-tdep.c: ... this.
* arm-tdep.h: Update comments.
* hppabsd-tdep.c: Rename to ...
* hppa-bsd-tdep.c: ... this, adjust include.
* hppabsd-tdep.h: Rename to ...
* hppa-bsd-tdep.h: ... this, adjust include barrier and comment.
* hppanbsd-nat.c: Rename to ...
* hppa-nbsd-nat.c: ... this.
* hppanbsd-tdep.c: Rename to ...
* hppa-nbsd-tdep.c: ... this, adjust include.
* hppaobsd-nat.c: Rename to ...
* hppa-obsd-nat.c: ... this.
* hppaobsd-tdep.c: Rename to ...
* hppa-obsd-tdep.c: ... this, adjust include.
* i386bsd-nat.c: Rename to ...
* i386-bsd-nat.c: ... this, adjust include.
* i386bsd-nat.h: Rename to ...
* i386-bsd-nat.h: ... this, adjust include barrier and comment.
* i386bsd-tdep.c: Rename to ...
* i386-bsd-tdep.c: ... this.
* i386fbsd-nat.c: Rename to ...
* i386-fbsd-nat.c: ... this, adjust include.
* i386fbsd-tdep.c: Rename to ...
* i386-fbsd-tdep.c: ... this, adjust include.
* i386fbsd-tdep.h: Rename to ...
* i386-fbsd-tdep.h: ... this, adjust include barrier and comment.
* i386gnu-nat.c: Rename to ...
* i386-gnu-nat.c: ... this.
* i386gnu-tdep.c: Rename to ...
* i386-gnu-tdep.c: ... this.
* i386nbsd-nat.c: Rename to ...
* i386-nbsd-nat.c: ... this, adjust include.
* i386nbsd-tdep.c: Rename to ...
* i386-nbsd-tdep.c: ... this.
* i386obsd-nat.c: Rename to ...
* i386-obsd-nat.c: ... this, adjust include.
* i386obsd-tdep.c: Rename to ...
* i386-obsd-tdep.c: ... this.
* i386v4-nat.c: Rename to ...
* i386-v4-nat.c: ... this.
* i386-tdep.h: Update comments.
* m68k-tdep.h: Update comments.
* m68kbsd-nat.c: Rename to ...
* m68k-bsd-nat.c: ... this.
* m68kbsd-tdep.c: Rename to ...
* m68k-bsd-tdep.c: ... this.
* m68klinux-nat.c: Rename to ...
* m68k-linux-nat.c: ... this.
* m68klinux-tdep.c: Rename to ...
* m68k-linux-tdep.c: ... this.
* m88kbsd-nat.c: Rename to ...
* m88k-bsd-nat.c: ... this.
* mipsnbsd-nat.c: Rename to ...
* mips-nbsd-nat.c: ... this, adjust include.
* mipsnbsd-tdep.c: Rename to ...
* mips-nbsd-tdep.c: ... this, adjust include.
* mipsnbsd-tdep.h: Rename to ...
* mips-nbsd-tdep.h: ... this, adjust include barrier and comment.
* mips64obsd-nat.c: Rename to ...
* mips64-obsd-nat.c: ... this.
* mips64obsd-tdep.c: Rename to ...
* mips64-obsd-tdep.c: ... this.
* ppcfbsd-nat.c: Rename to ...
* ppc-fbsd-nat.c: ... this, adjust include.
* ppcfbsd-tdep.c: Rename to ...
* ppc-fbsd-tdep.c: ... this, adjust include.
* ppcfbsd-tdep.h: Rename to ...
* ppc-fbsd-tdep.h: ... this, adjust include barrier and comment.
* ppcnbsd-nat.c: Rename to ...
* ppc-nbsd-nat.c: ... this, adjust include.
* ppcnbsd-tdep.c: Rename to ...
* ppc-nbsd-tdep.c: ... this, adjust include.
* ppcnbsd-tdep.h: Rename to ...
* ppc-nbsd-tdep.h: ... this, adjust include barrier and comment.
* ppcobsd-nat.c: Rename to ...
* ppc-obsd-nat.c: ... this, adjust include.
* ppcobsd-tdep.c: Rename to ...
* ppc-obsd-tdep.c: ... this, adjust include.
* ppcobsd-tdep.h: Rename to ...
* ppc-obsd-tdep.h: ... this, adjust include barrier and comment.
* shnbsd-nat.c: Rename to ...
* sh-nbsd-nat.c: ... this.
* shnbsd-tdep.c: Rename to ...
* sh-nbsd-tdep.c: ... this.
* sparcnbsd-nat.c: Rename to ...
* sparc-nbsd-nat.c: ... this.
* sparcnbsd-tdep.c: Rename to ...
* sparc-nbsd-tdep.c: ... this.
* sparcobsd-tdep.c: Rename to ...
* sparc-obsd-tdep.c: ... this.
* sparc64fbsd-nat.c: Rename to ...
* sparc64-fbsd-nat.c: ... this.
* sparc64fbsd-tdep.c: Rename to ...
* sparc64-fbsd-tdep.c: ... this.
* sparc64nbsd-nat.c: Rename to ...
* sparc64-nbsd-nat.c: ... this.
* sparc64nbsd-tdep.c: Rename to ...
* sparc64-nbsd-tdep.c: ... this.
* sparc64obsd-nat.c: Rename to ...
* sparc64-obsd-nat.c: ... this.
* sparc64obsd-tdep.c: Rename to ...
* sparc64-obsd-tdep.c: ... this.
* sparc64-tdep.h: Update comments.
* vaxbsd-nat.c: Rename to ...
* vax-bsd-nat.c: ... this.
* vaxnbsd-tdep.c: Rename to ...
* vax-nbsd-tdep.c: ... this.
* vaxobsd-tdep.c: Rename to ...
* vax-obsd-tdep.c: ... this.
* x86bsd-nat.h: Rename to ...
* x86-bsd-nat.h: ... this, adjust include barrier and comment.
* x86bsd-nat.c: Rename to ...
* x86-bsd-nat.c: ... this, adjust include.
* configure.tgt: Update renamed files.
* config/alpha/fbsd.mh: Update renamed files.
* config/alpha/nbsd.mh: Update renamed files.
* config/arm/nbsdelf.mh: Update renamed files.
* config/djgpp/fnchange.lst: Update renamed files.
* config/i386/fbsd.mh: Update renamed files.
* config/i386/fbsd64.mh: Update renamed files.
* config/i386/i386gnu.mh: Update renamed files.
* config/i386/i386sol2.mh: Update renamed files.
* config/i386/nbsd64.mh: Update renamed files.
* config/i386/nbsdelf.mh: Update renamed files.
* config/i386/obsd.mh: Update renamed files.
* config/i386/obsd64.mh: Update renamed files.
* config/i386/sol2-64.mh: Update renamed files.
* config/m68k/linux.mh: Update renamed files.
* config/m68k/nbsdelf.mh: Update renamed files.
* config/m68k/obsd.mh: Update renamed files.
* config/m88k/obsd.mh: Update renamed files.
* config/mips/nbsd.mh: Update renamed files.
* config/mips/obsd64.mh: Update renamed files.
* config/pa/nbsd.mh: Update renamed files.
* config/pa/obsd.mh: Update renamed files.
* config/powerpc/fbsd.mh: Update renamed files.
* config/powerpc/nbsd.mh: Update renamed files.
* config/powerpc/obsd.mh: Update renamed files.
* config/sh/nbsd.mh: Update renamed files.
* config/sparc/fbsd.mh: Update renamed files.
* config/sparc/nbsd64.mh: Update renamed files.
* config/sparc/nbsdelf.mh: Update renamed files.
* config/sparc/obsd64.mh: Update renamed files.
* config/vax/nbsdelf.mh: Update renamed files.
* config/vax/obsd.mh: Update renamed files.
Diffstat (limited to 'gdb/ppcobsd-tdep.c')
-rw-r--r-- | gdb/ppcobsd-tdep.c | 327 |
1 files changed, 0 insertions, 327 deletions
diff --git a/gdb/ppcobsd-tdep.c b/gdb/ppcobsd-tdep.c deleted file mode 100644 index bc5a5a8..0000000 --- a/gdb/ppcobsd-tdep.c +++ /dev/null @@ -1,327 +0,0 @@ -/* Target-dependent code for OpenBSD/powerpc. - - Copyright (C) 2004-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 "gdbtypes.h" -#include "osabi.h" -#include "regcache.h" -#include "regset.h" -#include "symtab.h" -#include "trad-frame.h" - -#include "ppc-tdep.h" -#include "ppcobsd-tdep.h" -#include "solib-svr4.h" - -/* Register offsets from <machine/reg.h>. */ -struct ppc_reg_offsets ppcobsd_reg_offsets; -struct ppc_reg_offsets ppcobsd_fpreg_offsets; - - -/* Core file support. */ - -/* Supply register REGNUM in the general-purpose register set REGSET - from the buffer specified by GREGS and LEN to register cache - REGCACHE. If REGNUM is -1, do this for all registers in REGSET. */ - -void -ppcobsd_supply_gregset (const struct regset *regset, - struct regcache *regcache, int regnum, - const void *gregs, size_t len) -{ - ppc_supply_gregset (regset, regcache, regnum, gregs, len); - ppc_supply_fpregset (regset, regcache, regnum, gregs, len); -} - -/* Collect register REGNUM in the general-purpose register set - REGSET, from register cache REGCACHE into the buffer specified by - GREGS and LEN. If REGNUM is -1, do this for all registers in - REGSET. */ - -void -ppcobsd_collect_gregset (const struct regset *regset, - const struct regcache *regcache, int regnum, - void *gregs, size_t len) -{ - ppc_collect_gregset (regset, regcache, regnum, gregs, len); - ppc_collect_fpregset (regset, regcache, regnum, gregs, len); -} - -/* OpenBSD/powerpc register set. */ - -const struct regset ppcobsd_gregset = -{ - &ppcobsd_reg_offsets, - ppcobsd_supply_gregset -}; - -const struct regset ppcobsd_fpregset = -{ - &ppcobsd_fpreg_offsets, - ppc_supply_fpregset -}; - -/* Iterate over core file register note sections. */ - -static void -ppcobsd_iterate_over_regset_sections (struct gdbarch *gdbarch, - iterate_over_regset_sections_cb *cb, - void *cb_data, - const struct regcache *regcache) -{ - cb (".reg", 412, &ppcobsd_gregset, NULL, cb_data); -} - - -/* 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 ppcobsd_page_size = 4096; - -/* Offset for sigreturn(2). */ -static const int ppcobsd_sigreturn_offset[] = { - 0x98, /* OpenBSD 3.8 */ - 0x0c, /* OpenBSD 3.2 */ - -1 -}; - -static int -ppcobsd_sigtramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, - void **this_cache) -{ - struct gdbarch *gdbarch = get_frame_arch (this_frame); - enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); - CORE_ADDR pc = get_frame_pc (this_frame); - CORE_ADDR start_pc = (pc & ~(ppcobsd_page_size - 1)); - const int *offset; - const char *name; - - find_pc_partial_function (pc, &name, NULL, NULL); - if (name) - return 0; - - for (offset = ppcobsd_sigreturn_offset; *offset != -1; offset++) - { - gdb_byte buf[2 * PPC_INSN_SIZE]; - unsigned long insn; - - if (!safe_frame_unwind_memory (this_frame, start_pc + *offset, - buf, sizeof buf)) - continue; - - /* Check for "li r0,SYS_sigreturn". */ - insn = extract_unsigned_integer (buf, PPC_INSN_SIZE, byte_order); - if (insn != 0x38000067) - continue; - - /* Check for "sc". */ - insn = extract_unsigned_integer (buf + PPC_INSN_SIZE, - PPC_INSN_SIZE, byte_order); - if (insn != 0x44000002) - continue; - - return 1; - } - - return 0; -} - -static struct trad_frame_cache * -ppcobsd_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache) -{ - struct gdbarch *gdbarch = get_frame_arch (this_frame); - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); - struct trad_frame_cache *cache; - CORE_ADDR addr, base, func; - gdb_byte buf[PPC_INSN_SIZE]; - unsigned long insn, sigcontext_offset; - int i; - - 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 &= ~(ppcobsd_page_size - 1); - if (!safe_frame_unwind_memory (this_frame, func, buf, sizeof buf)) - return cache; - - /* Calculate the offset where we can find `struct sigcontext'. We - base our calculation on the amount of stack space reserved by the - first instruction of the signal trampoline. */ - insn = extract_unsigned_integer (buf, PPC_INSN_SIZE, byte_order); - sigcontext_offset = (0x10000 - (insn & 0x0000ffff)) + 8; - - base = get_frame_register_unsigned (this_frame, gdbarch_sp_regnum (gdbarch)); - addr = base + sigcontext_offset + 2 * tdep->wordsize; - for (i = 0; i < ppc_num_gprs; i++, addr += tdep->wordsize) - { - int regnum = i + tdep->ppc_gp0_regnum; - trad_frame_set_reg_addr (cache, regnum, addr); - } - trad_frame_set_reg_addr (cache, tdep->ppc_lr_regnum, addr); - addr += tdep->wordsize; - trad_frame_set_reg_addr (cache, tdep->ppc_cr_regnum, addr); - addr += tdep->wordsize; - trad_frame_set_reg_addr (cache, tdep->ppc_xer_regnum, addr); - addr += tdep->wordsize; - trad_frame_set_reg_addr (cache, tdep->ppc_ctr_regnum, addr); - addr += tdep->wordsize; - trad_frame_set_reg_addr (cache, gdbarch_pc_regnum (gdbarch), addr); - /* SRR0? */ - addr += tdep->wordsize; - - /* Construct the frame ID using the function start. */ - trad_frame_set_id (cache, frame_id_build (base, func)); - - return cache; -} - -static void -ppcobsd_sigtramp_frame_this_id (struct frame_info *this_frame, - void **this_cache, struct frame_id *this_id) -{ - struct trad_frame_cache *cache = - ppcobsd_sigtramp_frame_cache (this_frame, this_cache); - - trad_frame_get_id (cache, this_id); -} - -static struct value * -ppcobsd_sigtramp_frame_prev_register (struct frame_info *this_frame, - void **this_cache, int regnum) -{ - struct trad_frame_cache *cache = - ppcobsd_sigtramp_frame_cache (this_frame, this_cache); - - return trad_frame_get_register (cache, this_frame, regnum); -} - -static const struct frame_unwind ppcobsd_sigtramp_frame_unwind = { - SIGTRAMP_FRAME, - default_frame_unwind_stop_reason, - ppcobsd_sigtramp_frame_this_id, - ppcobsd_sigtramp_frame_prev_register, - NULL, - ppcobsd_sigtramp_frame_sniffer -}; - - -static void -ppcobsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) -{ - /* OpenBSD doesn't support the 128-bit `long double' from the psABI. */ - set_gdbarch_long_double_bit (gdbarch, 64); - set_gdbarch_long_double_format (gdbarch, floatformats_ieee_double); - - /* OpenBSD currently uses a broken GCC. */ - set_gdbarch_return_value (gdbarch, ppc_sysv_abi_broken_return_value); - - /* OpenBSD uses SVR4-style shared libraries. */ - set_solib_svr4_fetch_link_map_offsets - (gdbarch, svr4_ilp32_fetch_link_map_offsets); - - set_gdbarch_iterate_over_regset_sections - (gdbarch, ppcobsd_iterate_over_regset_sections); - - frame_unwind_append_unwinder (gdbarch, &ppcobsd_sigtramp_frame_unwind); -} - - -/* 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; -} - - -/* 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, - ppcobsd_init_abi); - gdbarch_register_osabi (bfd_arch_powerpc, 0, GDB_OSABI_OPENBSD_ELF, - ppcobsd_init_abi); - - /* Avoid initializing the register offsets again if they were - already initialized by ppcobsd-nat.c. */ - if (ppcobsd_reg_offsets.pc_offset == 0) - { - /* General-purpose registers. */ - ppcobsd_reg_offsets.r0_offset = 0; - ppcobsd_reg_offsets.gpr_size = 4; - ppcobsd_reg_offsets.xr_size = 4; - ppcobsd_reg_offsets.pc_offset = 384; - ppcobsd_reg_offsets.ps_offset = 388; - ppcobsd_reg_offsets.cr_offset = 392; - ppcobsd_reg_offsets.lr_offset = 396; - ppcobsd_reg_offsets.ctr_offset = 400; - ppcobsd_reg_offsets.xer_offset = 404; - ppcobsd_reg_offsets.mq_offset = 408; - - /* Floating-point registers. */ - ppcobsd_reg_offsets.f0_offset = 128; - ppcobsd_reg_offsets.fpscr_offset = -1; - - /* AltiVec registers. */ - ppcobsd_reg_offsets.vr0_offset = 0; - ppcobsd_reg_offsets.vscr_offset = 512; - ppcobsd_reg_offsets.vrsave_offset = 520; - } - - if (ppcobsd_fpreg_offsets.fpscr_offset == 0) - { - /* Floating-point registers. */ - ppcobsd_reg_offsets.f0_offset = 0; - ppcobsd_reg_offsets.fpscr_offset = 256; - ppcobsd_reg_offsets.fpscr_size = 4; - } -} |