binutils-gdb/gdb/ppc-nbsd-tdep.c

220 lines
6.6 KiB
C
Raw Normal View History

* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
/* Target-dependent code for NetBSD/powerpc.
Copyright (C) 2002-2019 Free Software Foundation, Inc.
Contributed by Wasabi Systems, 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"
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
#include "gdbtypes.h"
#include "osabi.h"
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
#include "regcache.h"
#include "regset.h"
#include "trad-frame.h"
#include "tramp-frame.h"
#include "ppc-tdep.h"
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.
2016-11-23 05:14:24 +08:00
#include "ppc-nbsd-tdep.h"
#include "solib-svr4.h"
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
/* Register offsets from <machine/reg.h>. */
struct ppc_reg_offsets ppcnbsd_reg_offsets;
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
/* Core file support. */
2006-12-16 07:22:37 +08:00
/* NetBSD/powerpc register sets. */
2014-03-03 17:31:21 +08:00
const struct regset ppcnbsd_gregset =
{
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
&ppcnbsd_reg_offsets,
ppc_supply_gregset
};
2014-03-03 17:31:21 +08:00
const struct regset ppcnbsd_fpregset =
{
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
&ppcnbsd_reg_offsets,
ppc_supply_fpregset
};
/* Iterate over core file register note sections. */
static void
ppcnbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
iterate_over_regset_sections_cb *cb,
void *cb_data,
const struct regcache *regcache)
{
Split size in regset section iterators In the existing code, when using the regset section iteration functions, the size parameter is used in different ways. With collect, size is used to create the buffer in which to write the regset. (see linux-tdep.c::linux_collect_regset_section_cb). With supply, size is used to confirm the existing regset is the correct size. If REGSET_VARIABLE_SIZE is set then the regset can be bigger than size. Effectively, size is the minimum possible size of the regset. (see corelow.c::get_core_register_section). There are currently no targets with both REGSET_VARIABLE_SIZE and a collect function. In SVE, a corefile can contain one of two formats after the header, both of which are different sizes. However, when writing a core file, we always want to write out the full bigger size. To allow support of collects for REGSET_VARIABLE_SIZE we need two sizes. This is done by adding supply_size and collect_size. gdb/ * aarch64-fbsd-tdep.c (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and collect_size. * aarch64-linux-tdep.c (aarch64_linux_iterate_over_regset_sections): Likewise. * alpha-linux-tdep.c (alpha_linux_iterate_over_regset_sections): * alpha-nbsd-tdep.c (alphanbsd_iterate_over_regset_sections): Likewise. * amd64-fbsd-tdep.c (amd64fbsd_iterate_over_regset_sections): Likewise. * amd64-linux-tdep.c (amd64_linux_iterate_over_regset_sections): Likewise. * arm-bsd-tdep.c (armbsd_iterate_over_regset_sections): Likewise. * arm-fbsd-tdep.c (arm_fbsd_iterate_over_regset_sections): Likewise. * arm-linux-tdep.c (arm_linux_iterate_over_regset_sections): Likewise. * corelow.c (get_core_registers_cb): Likewise. (core_target::fetch_registers): Likewise. * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise. * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise. * gdbarch.h (void): Regenerate. * gdbarch.sh: Add supply_size and collect_size. * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise. * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise. * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise. * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise. * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise. * i386-tdep.c (i386_iterate_over_regset_sections): Likewise. * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise. * linux-tdep.c (linux_collect_regset_section_cb): Likewise. * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise. * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise. * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise. * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise. * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise. * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise. * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise. * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise. * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise. * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise. * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise. * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise. * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise. * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise. * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise. * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise. * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise. * sh-tdep.c (sh_iterate_over_regset_sections): Likewise. * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise. * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise. * vax-tdep.c (vax_iterate_over_regset_sections): Likewise. * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
2018-08-13 17:04:11 +08:00
cb (".reg", 148, 148, &ppcnbsd_gregset, NULL, cb_data);
cb (".reg2", 264, 264, &ppcnbsd_fpregset, NULL, cb_data);
}
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
/* NetBSD is confused. It appears that 1.5 was using the correct SVR4
convention but, 1.6 switched to the below broken convention. For
the moment use the broken convention. Ulgh! */
2003-11-07 Andrew Cagney <cagney@redhat.com> * ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux, set "return_value" instead of "use_struct_convention". (ppc_linux_use_struct_convention): Delete function. (ppc_linux_return_value): New function. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): New function. (ppc_sysv_abi_broken_return_value): New function. (do_ppc_sysv_return_value): Add "gdbarch" parameter. (ppc64_sysv_abi_push_dummy_call): Add "gdbarch" parameter, drop static. (ppc_sysv_abi_extract_return_value): Delete function. (ppc_sysv_abi_broken_extract_return_value): Delete function. (ppc_sysv_abi_store_return_value): Delete function. (ppc_sysv_abi_broken_store_return_value): Delete function. (ppc_sysv_abi_use_struct_convention): Delete function. (ppc64_sysv_abi_use_struct_convention): Delete function. (ppc64_sysv_abi_extract_return_value): Delete function. (ppc64_sysv_abi_store_return_value): Delete function. * ppcnbsd-tdep.c (ppcnbsd_return_value): New function. (ppcnbsd_init_abi): Set "return_value", instead of "use_struct_convention", "extract_return_value", and "store_return_value". (ppcnbsd_use_struct_convention): Delete function. * ppc-tdep.h (ppc64_sysv_abi_return_value): Declare. (ppc_sysv_abi_return_value): Declare. (ppc_sysv_abi_broken_return_value): Declare. (ppc_sysv_abi_use_struct_convention): Delete. (ppc_sysv_abi_store_return_value): Delete. (ppc_sysv_abi_extract_return_value): Delete. (ppc_sysv_abi_broken_store_return_value): Delete. (ppc_sysv_abi_broken_extract_return_value): Delete. (ppc64_sysv_abi_use_struct_convention): Delete. (ppc64_sysv_abi_extract_return_value): Delete. (ppc64_sysv_abi_store_return_value): Delete. * rs6000-tdep.c (rs6000_gdbarch_init): For 32-bit and 64-bit SYSV, set "return_value" instead of "extract_return_value", "store_return_value", and "use_struct_convention".
2003-11-08 04:44:51 +08:00
static enum return_value_convention
gdb/ * breakpoint.h (bp_location): Add related_address member. * inferior.h (get_return_value): Take a pointer to struct value instead of struct type for the function requested. * value.h (using_struct_return): Likewise. * gdbarch.sh (return_value): Take a pointer to struct value instead of struct type for the function requested. * breakpoint.c (set_breakpoint_location_function): Initialize related_address for bp_gnu_ifunc_resolver breakpoints. * elfread.c (elf_gnu_ifunc_resolver_return_stop): Pass the requested function's address to gdbarch_return_value. * eval.c (evaluate_subexp_standard): Pass the requested function's address to using_struct_return. * infcall.c (call_function_by_hand): Pass the requested function's address to using_struct_return and gdbarch_return_value. * infcmd.c (get_return_value): Take a pointer to struct value instead of struct type for the function requested. (print_return_value): Update accordingly. (finish_command_continuation): Likewise. * stack.c (return_command): Pass the requested function's address to using_struct_return and gdbarch_return_value. * value.c (using_struct_return): Take a pointer to struct value instead of struct type for the function requested. Pass the requested function's address to gdbarch_return_value. * python/py-finishbreakpoint.c (finish_breakpoint_object): New function_value member, replacing function_type. (bpfinishpy_dealloc): Update accordingly. (bpfinishpy_pre_stop_hook): Likewise. (bpfinishpy_init): Likewise. Record the requested function's address. * mips-tdep.c (mips_fval_reg): New enum. (mips_o32_push_dummy_call): For MIPS16 FP doubles do not swap words put in GP registers. (mips_o64_push_dummy_call): Update a comment. (mips_o32_return_value): Take a pointer to struct value instead of struct type for the function requested and use it to check if using the MIPS16 calling convention. Return the designated general purpose registers for floating-point values returned in MIPS16 mode. (mips_o64_return_value): Likewise. * ppc-tdep.h (ppc_sysv_abi_return_value): Update prototype. (ppc_sysv_abi_broken_return_value): Likewise. (ppc64_sysv_abi_return_value): Likewise. * alpha-tdep.c (alpha_return_value): Take a pointer to struct value instead of struct type for the function requested. * amd64-tdep.c (amd64_return_value): Likewise. * amd64-windows-tdep.c (amd64_windows_return_value): Likewise. * arm-tdep.c (arm_return_value): Likewise. * avr-tdep.c (avr_return_value): Likewise. * bfin-tdep.c (bfin_return_value): Likewise. * cris-tdep.c (cris_return_value): Likewise. * frv-tdep.c (frv_return_value): Likewise. * h8300-tdep.c (h8300_return_value): Likewise. (h8300h_return_value): Likewise. * hppa-tdep.c (hppa32_return_value): Likewise. (hppa64_return_value): Likewise. * i386-tdep.c (i386_return_value): Likewise. * ia64-tdep.c (ia64_return_value): Likewise. * iq2000-tdep.c (iq2000_return_value): Likewise. * lm32-tdep.c (lm32_return_value): Likewise. * m32c-tdep.c (m32c_return_value): Likewise. * m32r-tdep.c (m32r_return_value): Likewise. * m68hc11-tdep.c (m68hc11_return_value): Likewise. * m68k-tdep.c (m68k_return_value): Likewise. (m68k_svr4_return_value): Likewise. * m88k-tdep.c (m88k_return_value): Likewise. * mep-tdep.c (mep_return_value): Likewise. * microblaze-tdep.c (microblaze_return_value): Likewise. * mn10300-tdep.c (mn10300_return_value): Likewise. * moxie-tdep.c (moxie_return_value): Likewise. * mt-tdep.c (mt_return_value): Likewise. * ppc-linux-tdep.c (ppc_linux_return_value): Likewise. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Likewise. (ppc_sysv_abi_broken_return_value): Likewise. (ppc64_sysv_abi_return_value): Likewise. * ppcnbsd-tdep.c (ppcnbsd_return_value): Likewise. * rl78-tdep.c (rl78_return_value): Likewise. * rs6000-aix-tdep.c (rs6000_return_value): Likewise. * rx-tdep.c (rx_return_value): Likewise. * s390-tdep.c (s390_return_value): Likewise. * score-tdep.c (score_return_value): Likewise. * sh-tdep.c (sh_return_value_nofpu): Likewise. (sh_return_value_fpu): Likewise. * sh64-tdep.c (sh64_return_value): Likewise. * sparc-tdep.c (sparc32_return_value): Likewise. * sparc64-tdep.c (sparc64_return_value): Likewise. * spu-tdep.c (spu_return_value): Likewise. * tic6x-tdep.c (tic6x_return_value): Likewise. * v850-tdep.c (v850_return_value): Likewise. * vax-tdep.c (vax_return_value): Likewise. * xstormy16-tdep.c (xstormy16_return_value): Likewise. * xtensa-tdep.c (xtensa_return_value): Likewise. * gdbarch.c: Regenerate. * gdbarch.h: Regenerate. gdb/testsuite/ * gdb.base/return-nodebug.exp: Also test float and double types.
2012-05-16 22:35:09 +08:00
ppcnbsd_return_value (struct gdbarch *gdbarch, struct value *function,
doc/ChangeLog: -------------- * gdb.texinfo (Set SH Calling convention): New @item. (Show SH Calling convention): Ditto. ChangeLog: ---------- * NEWS: Add information on calling convention and new SH CLI options. * sh-tdep.c (sh_cc_gcc): New static string. (sh_cc_renesas): Ditto. (sh_cc_enum): New static string array. (sh_active_calling_convention): New static string pointer denoting active user chosen ABI. (sh_is_renesas_calling_convention): New function to return function specific ABI, or user choice if necessary. (sh_use_struct_convention): Rename first argument and turn around its meaning. Check for renesas ABI and return accordingly. (sh_use_struct_convention_nofpu): New function. (sh_next_flt_argreg): Get function type as third parameter. Check for renesas ABI and choose floating registers accordingly. (sh_push_dummy_call_fpu): Check for ABI and choose argument slot and struct return slot accordingly. (sh_push_dummy_call_nofpu): Ditto. (sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here. Evaluate ABI and give to sh_use_struct_convention_nofpu. (sh_return_value_fpu): Evaluate ABI and give to sh_use_struct_convention. (show_sh_command): New function. (set_sh_command): Ditto. (_initialize_sh_tdep): Initialize `set/show sh calling-convention CLI command. * gdbarch.sh (return_value): Add func_type argument. * gdbarch.c: Regenerate. * gdbarch.h: Ditto. * eval.c (evaluate_subexp_standard): Rename local variable value_type to val_type so as not to collide with value_type function. Call using_struct_return with additional function type argument. * infcall.c (call_function_by_hand): Call using_struct_return and gdbarch_return_value with additional function type argument. * infcmd.c (print_return_value): Take addition func_type argument. Call gdbarch_return_value with additional function type argument. (finish_command_continuation): Call print_return_value with additional function type argument. (finish_command): Ditto. * sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with additional function type argument. * stack.c (return_command): Call using_struct_return and gdbarch_return_value with additional function type argument. * value.c (using_struct_return): Take additional function type argument. * value.h (using_struct_return): Accommodate declaration. * alpha-tdep.c (alpha_return_value): Add func_type argument. * amd64-tdep.c (amd64_return_value): Ditto. * arm-tdep.c (arm_return_value): Ditto. * avr-tdep.c (avr_return_value): Ditto. * cris-tdep.c (cris_return_value): Ditto. * frv-tdep.c (frv_return_value): Ditto. * h8300-tdep.c (h8300_return_value): Ditto. (h8300h_return_value): Ditto. * hppa-tdep.c (hppa32_return_value): Ditto. (hppa64_return_value): Ditto. * i386-tdep.c (i386_return_value): Ditto. * ia64-tdep.c (ia64_return_value): Ditto. * iq2000-tdep.c (iq2000_return_value): Ditto. * m32c-tdep.c (m32c_return_value): Ditto. * m32r-tdep.c (m32r_return_value): Ditto. * m68hc11-tdep.c (m68hc11_return_value): Ditto. * m68k-tdep.c (m68k_return_value): Ditto. (m68k_svr4_return_value): Ditto. * m88k-tdep.c (m88k_return_value): Ditto. * mep-tdep.c (mep_return_value): Ditto. * mips-tdep.c (mips_eabi_return_value): Ditto. (mips_n32n64_return_value): Ditto. (mips_o32_return_value): Ditto. (mips_o64_return_value): Ditto. * mn10300-tdep.c (mn10300_return_value): Ditto. * mt-tdep.c (mt_return_value): Ditto. * ppc-linux-tdep.c (ppc_linux_return_value): Ditto. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto. (ppc_sysv_abi_broken_return_value): Ditto. (ppc64_sysv_abi_return_value): Ditto. * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto. (ppc_sysv_abi_broken_return_value): Ditto. (ppc64_sysv_abi_return_value): Ditto. * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto. * rs6000-tdep.c (rs6000_return_value): Ditto. * s390-tdep.c (s390_return_value): Ditto. * score-tdep.c (score_return_value): Ditto. * sh-tdep.c (sh_return_value_nofpu): Ditto. (sh_return_value_fpu): Ditto. * sh64-tdep.c (sh64_return_value): Ditto. * sparc-tdep.c (sparc32_return_value): Ditto. * sparc64-tdep.c (sparc64_return_value): Ditto. * spu-tdep.c (spu_return_value): Ditto. * v850-tdep.c (v850_return_value): Ditto. * vax-tdep.c (vax_return_value): Ditto. * xstormy16-tdep.c (xstormy16_return_value): Ditto. * xtensa-tdep.c (xtensa_return_value): Ditto. * gdbtypes.h (struct type): Add calling_convention member. * dwarf2read.c (read_subroutine_type): Add calling convention read from DW_AT_calling_convention attribute to function type.
2008-04-22 19:03:42 +08:00
struct type *valtype, struct regcache *regcache,
gdb_byte *readbuf, const gdb_byte *writebuf)
2003-11-07 Andrew Cagney <cagney@redhat.com> * ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux, set "return_value" instead of "use_struct_convention". (ppc_linux_use_struct_convention): Delete function. (ppc_linux_return_value): New function. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): New function. (ppc_sysv_abi_broken_return_value): New function. (do_ppc_sysv_return_value): Add "gdbarch" parameter. (ppc64_sysv_abi_push_dummy_call): Add "gdbarch" parameter, drop static. (ppc_sysv_abi_extract_return_value): Delete function. (ppc_sysv_abi_broken_extract_return_value): Delete function. (ppc_sysv_abi_store_return_value): Delete function. (ppc_sysv_abi_broken_store_return_value): Delete function. (ppc_sysv_abi_use_struct_convention): Delete function. (ppc64_sysv_abi_use_struct_convention): Delete function. (ppc64_sysv_abi_extract_return_value): Delete function. (ppc64_sysv_abi_store_return_value): Delete function. * ppcnbsd-tdep.c (ppcnbsd_return_value): New function. (ppcnbsd_init_abi): Set "return_value", instead of "use_struct_convention", "extract_return_value", and "store_return_value". (ppcnbsd_use_struct_convention): Delete function. * ppc-tdep.h (ppc64_sysv_abi_return_value): Declare. (ppc_sysv_abi_return_value): Declare. (ppc_sysv_abi_broken_return_value): Declare. (ppc_sysv_abi_use_struct_convention): Delete. (ppc_sysv_abi_store_return_value): Delete. (ppc_sysv_abi_extract_return_value): Delete. (ppc_sysv_abi_broken_store_return_value): Delete. (ppc_sysv_abi_broken_extract_return_value): Delete. (ppc64_sysv_abi_use_struct_convention): Delete. (ppc64_sysv_abi_extract_return_value): Delete. (ppc64_sysv_abi_store_return_value): Delete. * rs6000-tdep.c (rs6000_gdbarch_init): For 32-bit and 64-bit SYSV, set "return_value" instead of "extract_return_value", "store_return_value", and "use_struct_convention".
2003-11-08 04:44:51 +08:00
{
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
#if 0
2003-11-07 Andrew Cagney <cagney@redhat.com> * ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux, set "return_value" instead of "use_struct_convention". (ppc_linux_use_struct_convention): Delete function. (ppc_linux_return_value): New function. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): New function. (ppc_sysv_abi_broken_return_value): New function. (do_ppc_sysv_return_value): Add "gdbarch" parameter. (ppc64_sysv_abi_push_dummy_call): Add "gdbarch" parameter, drop static. (ppc_sysv_abi_extract_return_value): Delete function. (ppc_sysv_abi_broken_extract_return_value): Delete function. (ppc_sysv_abi_store_return_value): Delete function. (ppc_sysv_abi_broken_store_return_value): Delete function. (ppc_sysv_abi_use_struct_convention): Delete function. (ppc64_sysv_abi_use_struct_convention): Delete function. (ppc64_sysv_abi_extract_return_value): Delete function. (ppc64_sysv_abi_store_return_value): Delete function. * ppcnbsd-tdep.c (ppcnbsd_return_value): New function. (ppcnbsd_init_abi): Set "return_value", instead of "use_struct_convention", "extract_return_value", and "store_return_value". (ppcnbsd_use_struct_convention): Delete function. * ppc-tdep.h (ppc64_sysv_abi_return_value): Declare. (ppc_sysv_abi_return_value): Declare. (ppc_sysv_abi_broken_return_value): Declare. (ppc_sysv_abi_use_struct_convention): Delete. (ppc_sysv_abi_store_return_value): Delete. (ppc_sysv_abi_extract_return_value): Delete. (ppc_sysv_abi_broken_store_return_value): Delete. (ppc_sysv_abi_broken_extract_return_value): Delete. (ppc64_sysv_abi_use_struct_convention): Delete. (ppc64_sysv_abi_extract_return_value): Delete. (ppc64_sysv_abi_store_return_value): Delete. * rs6000-tdep.c (rs6000_gdbarch_init): For 32-bit and 64-bit SYSV, set "return_value" instead of "extract_return_value", "store_return_value", and "use_struct_convention".
2003-11-08 04:44:51 +08:00
if ((TYPE_CODE (valtype) == TYPE_CODE_STRUCT
|| TYPE_CODE (valtype) == TYPE_CODE_UNION)
&& !((TYPE_LENGTH (valtype) == 16 || TYPE_LENGTH (valtype) == 8)
&& TYPE_VECTOR (valtype))
&& !(TYPE_LENGTH (valtype) == 1
|| TYPE_LENGTH (valtype) == 2
|| TYPE_LENGTH (valtype) == 4
|| TYPE_LENGTH (valtype) == 8))
return RETURN_VALUE_STRUCT_CONVENTION;
else
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
#endif
gdb/ * breakpoint.h (bp_location): Add related_address member. * inferior.h (get_return_value): Take a pointer to struct value instead of struct type for the function requested. * value.h (using_struct_return): Likewise. * gdbarch.sh (return_value): Take a pointer to struct value instead of struct type for the function requested. * breakpoint.c (set_breakpoint_location_function): Initialize related_address for bp_gnu_ifunc_resolver breakpoints. * elfread.c (elf_gnu_ifunc_resolver_return_stop): Pass the requested function's address to gdbarch_return_value. * eval.c (evaluate_subexp_standard): Pass the requested function's address to using_struct_return. * infcall.c (call_function_by_hand): Pass the requested function's address to using_struct_return and gdbarch_return_value. * infcmd.c (get_return_value): Take a pointer to struct value instead of struct type for the function requested. (print_return_value): Update accordingly. (finish_command_continuation): Likewise. * stack.c (return_command): Pass the requested function's address to using_struct_return and gdbarch_return_value. * value.c (using_struct_return): Take a pointer to struct value instead of struct type for the function requested. Pass the requested function's address to gdbarch_return_value. * python/py-finishbreakpoint.c (finish_breakpoint_object): New function_value member, replacing function_type. (bpfinishpy_dealloc): Update accordingly. (bpfinishpy_pre_stop_hook): Likewise. (bpfinishpy_init): Likewise. Record the requested function's address. * mips-tdep.c (mips_fval_reg): New enum. (mips_o32_push_dummy_call): For MIPS16 FP doubles do not swap words put in GP registers. (mips_o64_push_dummy_call): Update a comment. (mips_o32_return_value): Take a pointer to struct value instead of struct type for the function requested and use it to check if using the MIPS16 calling convention. Return the designated general purpose registers for floating-point values returned in MIPS16 mode. (mips_o64_return_value): Likewise. * ppc-tdep.h (ppc_sysv_abi_return_value): Update prototype. (ppc_sysv_abi_broken_return_value): Likewise. (ppc64_sysv_abi_return_value): Likewise. * alpha-tdep.c (alpha_return_value): Take a pointer to struct value instead of struct type for the function requested. * amd64-tdep.c (amd64_return_value): Likewise. * amd64-windows-tdep.c (amd64_windows_return_value): Likewise. * arm-tdep.c (arm_return_value): Likewise. * avr-tdep.c (avr_return_value): Likewise. * bfin-tdep.c (bfin_return_value): Likewise. * cris-tdep.c (cris_return_value): Likewise. * frv-tdep.c (frv_return_value): Likewise. * h8300-tdep.c (h8300_return_value): Likewise. (h8300h_return_value): Likewise. * hppa-tdep.c (hppa32_return_value): Likewise. (hppa64_return_value): Likewise. * i386-tdep.c (i386_return_value): Likewise. * ia64-tdep.c (ia64_return_value): Likewise. * iq2000-tdep.c (iq2000_return_value): Likewise. * lm32-tdep.c (lm32_return_value): Likewise. * m32c-tdep.c (m32c_return_value): Likewise. * m32r-tdep.c (m32r_return_value): Likewise. * m68hc11-tdep.c (m68hc11_return_value): Likewise. * m68k-tdep.c (m68k_return_value): Likewise. (m68k_svr4_return_value): Likewise. * m88k-tdep.c (m88k_return_value): Likewise. * mep-tdep.c (mep_return_value): Likewise. * microblaze-tdep.c (microblaze_return_value): Likewise. * mn10300-tdep.c (mn10300_return_value): Likewise. * moxie-tdep.c (moxie_return_value): Likewise. * mt-tdep.c (mt_return_value): Likewise. * ppc-linux-tdep.c (ppc_linux_return_value): Likewise. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Likewise. (ppc_sysv_abi_broken_return_value): Likewise. (ppc64_sysv_abi_return_value): Likewise. * ppcnbsd-tdep.c (ppcnbsd_return_value): Likewise. * rl78-tdep.c (rl78_return_value): Likewise. * rs6000-aix-tdep.c (rs6000_return_value): Likewise. * rx-tdep.c (rx_return_value): Likewise. * s390-tdep.c (s390_return_value): Likewise. * score-tdep.c (score_return_value): Likewise. * sh-tdep.c (sh_return_value_nofpu): Likewise. (sh_return_value_fpu): Likewise. * sh64-tdep.c (sh64_return_value): Likewise. * sparc-tdep.c (sparc32_return_value): Likewise. * sparc64-tdep.c (sparc64_return_value): Likewise. * spu-tdep.c (spu_return_value): Likewise. * tic6x-tdep.c (tic6x_return_value): Likewise. * v850-tdep.c (v850_return_value): Likewise. * vax-tdep.c (vax_return_value): Likewise. * xstormy16-tdep.c (xstormy16_return_value): Likewise. * xtensa-tdep.c (xtensa_return_value): Likewise. * gdbarch.c: Regenerate. * gdbarch.h: Regenerate. gdb/testsuite/ * gdb.base/return-nodebug.exp: Also test float and double types.
2012-05-16 22:35:09 +08:00
return ppc_sysv_abi_broken_return_value (gdbarch, function, valtype,
doc/ChangeLog: -------------- * gdb.texinfo (Set SH Calling convention): New @item. (Show SH Calling convention): Ditto. ChangeLog: ---------- * NEWS: Add information on calling convention and new SH CLI options. * sh-tdep.c (sh_cc_gcc): New static string. (sh_cc_renesas): Ditto. (sh_cc_enum): New static string array. (sh_active_calling_convention): New static string pointer denoting active user chosen ABI. (sh_is_renesas_calling_convention): New function to return function specific ABI, or user choice if necessary. (sh_use_struct_convention): Rename first argument and turn around its meaning. Check for renesas ABI and return accordingly. (sh_use_struct_convention_nofpu): New function. (sh_next_flt_argreg): Get function type as third parameter. Check for renesas ABI and choose floating registers accordingly. (sh_push_dummy_call_fpu): Check for ABI and choose argument slot and struct return slot accordingly. (sh_push_dummy_call_nofpu): Ditto. (sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here. Evaluate ABI and give to sh_use_struct_convention_nofpu. (sh_return_value_fpu): Evaluate ABI and give to sh_use_struct_convention. (show_sh_command): New function. (set_sh_command): Ditto. (_initialize_sh_tdep): Initialize `set/show sh calling-convention CLI command. * gdbarch.sh (return_value): Add func_type argument. * gdbarch.c: Regenerate. * gdbarch.h: Ditto. * eval.c (evaluate_subexp_standard): Rename local variable value_type to val_type so as not to collide with value_type function. Call using_struct_return with additional function type argument. * infcall.c (call_function_by_hand): Call using_struct_return and gdbarch_return_value with additional function type argument. * infcmd.c (print_return_value): Take addition func_type argument. Call gdbarch_return_value with additional function type argument. (finish_command_continuation): Call print_return_value with additional function type argument. (finish_command): Ditto. * sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with additional function type argument. * stack.c (return_command): Call using_struct_return and gdbarch_return_value with additional function type argument. * value.c (using_struct_return): Take additional function type argument. * value.h (using_struct_return): Accommodate declaration. * alpha-tdep.c (alpha_return_value): Add func_type argument. * amd64-tdep.c (amd64_return_value): Ditto. * arm-tdep.c (arm_return_value): Ditto. * avr-tdep.c (avr_return_value): Ditto. * cris-tdep.c (cris_return_value): Ditto. * frv-tdep.c (frv_return_value): Ditto. * h8300-tdep.c (h8300_return_value): Ditto. (h8300h_return_value): Ditto. * hppa-tdep.c (hppa32_return_value): Ditto. (hppa64_return_value): Ditto. * i386-tdep.c (i386_return_value): Ditto. * ia64-tdep.c (ia64_return_value): Ditto. * iq2000-tdep.c (iq2000_return_value): Ditto. * m32c-tdep.c (m32c_return_value): Ditto. * m32r-tdep.c (m32r_return_value): Ditto. * m68hc11-tdep.c (m68hc11_return_value): Ditto. * m68k-tdep.c (m68k_return_value): Ditto. (m68k_svr4_return_value): Ditto. * m88k-tdep.c (m88k_return_value): Ditto. * mep-tdep.c (mep_return_value): Ditto. * mips-tdep.c (mips_eabi_return_value): Ditto. (mips_n32n64_return_value): Ditto. (mips_o32_return_value): Ditto. (mips_o64_return_value): Ditto. * mn10300-tdep.c (mn10300_return_value): Ditto. * mt-tdep.c (mt_return_value): Ditto. * ppc-linux-tdep.c (ppc_linux_return_value): Ditto. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto. (ppc_sysv_abi_broken_return_value): Ditto. (ppc64_sysv_abi_return_value): Ditto. * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto. (ppc_sysv_abi_broken_return_value): Ditto. (ppc64_sysv_abi_return_value): Ditto. * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto. * rs6000-tdep.c (rs6000_return_value): Ditto. * s390-tdep.c (s390_return_value): Ditto. * score-tdep.c (score_return_value): Ditto. * sh-tdep.c (sh_return_value_nofpu): Ditto. (sh_return_value_fpu): Ditto. * sh64-tdep.c (sh64_return_value): Ditto. * sparc-tdep.c (sparc32_return_value): Ditto. * sparc64-tdep.c (sparc64_return_value): Ditto. * spu-tdep.c (spu_return_value): Ditto. * v850-tdep.c (v850_return_value): Ditto. * vax-tdep.c (vax_return_value): Ditto. * xstormy16-tdep.c (xstormy16_return_value): Ditto. * xtensa-tdep.c (xtensa_return_value): Ditto. * gdbtypes.h (struct type): Add calling_convention member. * dwarf2read.c (read_subroutine_type): Add calling convention read from DW_AT_calling_convention attribute to function type.
2008-04-22 19:03:42 +08:00
regcache, readbuf, writebuf);
}
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
/* Signal trampolines. */
Fix redefinition errors in C++ mode In C, we can forward declare static structure instances. That doesn't work in C++ though. C++ treats these as definitions. So then the compiler complains about symbol redefinition, like: src/gdb/elfread.c:1569:29: error: redefinition of ‘const sym_fns elf_sym_fns_lazy_psyms’ src/gdb/elfread.c:53:29: error: ‘const sym_fns elf_sym_fns_lazy_psyms’ previously declared here The intent of static here is naturally to avoid making these objects visible outside the compilation unit. The equivalent in C++ would be to instead define the objects in the anonymous namespace. But given that it's desirable to leave the codebase compiling as both C and C++ for a while, this just makes the objects extern. (base_breakpoint_ops is already declared in breakpoint.h, so we can just remove the forward declare from breakpoint.c) gdb/ChangeLog: 2015-02-11 Tom Tromey <tromey@redhat.com> Pedro Alves <palves@redhat.com> * breakpoint.c (base_breakpoint_ops): Delete. * dwarf2loc.c (dwarf_expr_ctx_funcs): Make extern. * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_lazy_psyms): Make extern. * guile/guile.c (guile_extension_script_ops, guile_extension_ops): Make extern. * ppcnbsd-tdep.c (ppcnbsd2_sigtramp): Make extern. * python/py-arch.c (arch_object_type): Make extern. * python/py-block.c (block_syms_iterator_object_type): Make extern. * python/py-bpevent.c (breakpoint_event_object_type): Make extern. * python/py-cmd.c (cmdpy_object_type): Make extern. * python/py-continueevent.c (continue_event_object_type) * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove 'qual' parameter. Update all callers. * python/py-evtregistry.c (eventregistry_object_type): Make extern. * python/py-exitedevent.c (exited_event_object_type): Make extern. * python/py-finishbreakpoint.c (finish_breakpoint_object_type): Make extern. * python/py-function.c (fnpy_object_type): Make extern. * python/py-inferior.c (inferior_object_type, membuf_object_type): Make extern. * python/py-infevents.c (call_pre_event_object_type) (inferior_call_post_event_object_type). (memory_changed_event_object_type): Make extern. * python/py-infthread.c (thread_object_type): Make extern. * python/py-lazy-string.c (lazy_string_object_type): Make extern. * python/py-linetable.c (linetable_entry_object_type) (linetable_object_type, ltpy_iterator_object_type): Make extern. * python/py-newobjfileevent.c (new_objfile_event_object_type) (clear_objfiles_event_object_type): Make extern. * python/py-objfile.c (objfile_object_type): Make extern. * python/py-param.c (parmpy_object_type): Make extern. * python/py-progspace.c (pspace_object_type): Make extern. * python/py-signalevent.c (signal_event_object_type): Make extern. * python/py-symtab.c (symtab_object_type, sal_object_type): Make extern. * python/py-type.c (type_object_type, field_object_type) (type_iterator_object_type): Make extern. * python/python.c (python_extension_script_ops) (python_extension_ops): Make extern. * stap-probe.c (stap_probe_ops): Make extern.
2015-02-11 19:20:21 +08:00
extern const struct tramp_frame ppcnbsd2_sigtramp;
static void
ppcnbsd_sigtramp_cache_init (const struct tramp_frame *self,
struct frame_info *this_frame,
struct trad_frame_cache *this_cache,
CORE_ADDR func)
{
struct gdbarch *gdbarch = get_frame_arch (this_frame);
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
CORE_ADDR addr, base;
int i;
base = get_frame_register_unsigned (this_frame,
gdbarch_sp_regnum (gdbarch));
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
if (self == &ppcnbsd2_sigtramp)
addr = base + 0x10 + 2 * tdep->wordsize;
else
addr = base + 0x18 + 2 * tdep->wordsize;
for (i = 0; i < ppc_num_gprs; i++, addr += tdep->wordsize)
{
int regnum = i + tdep->ppc_gp0_regnum;
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
trad_frame_set_reg_addr (this_cache, regnum, addr);
}
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
trad_frame_set_reg_addr (this_cache, tdep->ppc_lr_regnum, addr);
addr += tdep->wordsize;
trad_frame_set_reg_addr (this_cache, tdep->ppc_cr_regnum, addr);
addr += tdep->wordsize;
trad_frame_set_reg_addr (this_cache, tdep->ppc_xer_regnum, addr);
addr += tdep->wordsize;
trad_frame_set_reg_addr (this_cache, tdep->ppc_ctr_regnum, addr);
addr += tdep->wordsize;
2007-11-16 Markus Deuling <deuling@de.ibm.com> * m32r-rom.c (m32r_supply_register): Use get_regcache_arch to get at the current architecture by regcache. * ppcnbsd-nat.c (ppcnbsd_supply_pcb): Likewise. * ppc-linux-nat.c (fetch_altivec_register, fetch_spe_register) (fetch_register, supply_vrregset, fetch_ppc_registers) (store_altivec_register, store_spe_register, store_register) (fill_vrregset, store_ppc_registers): Likewise. * ppcobsd-nat.c (ppcobsd_supply_pcb): Likewise. * win32-nat.c (do_win32_fetch_inferior_registers) (do_win32_store_inferior_registers): Likewise. * procfs.c (procfs_fetch_registers, procfs_store_registers): Likewise. * remote-m32r-sdi.c (m32r_fetch_registers) (m32r_store_registers): Likewise. * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register): Likewise. * trad-frame.c (trad_frame_alloc_saved_regs): Replace current_gdbarch by gdbarch. * user-regs.c (user_reg_map_name_to_regnum): Likewise. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call) (do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call) (ppc64_sysv_abi_return_value): Likewise. * m32c-tdep.c (m32c_register_reggroup_p): Likewise. * m2-lang.c (build_m2_types): Likewise. * ppc-linux-tdep.c (ppc_linux_sigtramp_cache * ppcnbsd-tdep.c (ppcnbsd_sigtramp_cache_init): Likewise. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_cache): Likewise. * rs6000-tdep.c (ppc_dwarf2_frame_init_reg): Likewise. * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Use get_frame_arch to get at the current architecture by frame_info. * gcore.c (derive_stack_segment): Likewise. * shnbsd-nat.c (GETREGS_SUPPLIES): Add gdbarch parameter. (shnbsd_fetch_inferior_registers, shnbsd_store_inferior_registers): Add gdbarch to GETREGS_SUPPLIES call.
2007-11-16 12:53:46 +08:00
trad_frame_set_reg_addr (this_cache, gdbarch_pc_regnum (gdbarch),
addr); /* SRR0? */
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
addr += tdep->wordsize;
/* Construct the frame ID using the function start. */
trad_frame_set_id (this_cache, frame_id_build (base, func));
}
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
static const struct tramp_frame ppcnbsd_sigtramp =
{
SIGTRAMP_FRAME,
4,
{
Avoid -Wnarrowing warnings in struct tramp_frame instances This avoids -Wnarrowing warnings in struct tramp_frame instances, replacing uses of -1 with a new ULONGEST_MAX. It also redefined TRAMP_SENTINEL_INSN to avoid the same warning. gdb/ChangeLog 2018-08-27 Tom Tromey <tom@tromey.com> * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine. * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use ULONGEST_MAX. * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX. * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use ULONGEST_MAX. * sparc-linux-tdep.c (sparc32_linux_sigframe) (sparc32_linux_rt_sigframe): Use ULONGEST_MAX. * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use ULONGEST_MAX. * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame) (ppc64_linux_sigaction_tramp_frame) (ppc32_linux_sighandler_tramp_frame) (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX. * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame) (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX. * mn10300-linux-tdep.c (am33_linux_sigframe) (am33_linux_rt_sigframe): Use ULONGEST_MAX. * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX. * mips-linux-tdep.c (mips_linux_o32_sigframe) (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe) (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe) (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe) (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX. * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe) (mips64_fbsd_sigframe): Use ULONGEST_MAX. * microblaze-linux-tdep.c (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX. * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2) (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31) (i386nbsd_sigtramp_si4): Use ULONGEST_MAX. * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX. * common/common-types.h (ULONGEST_MAX): New define. (CORE_ADDR_MAX): Fix formatting. * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX. * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX. * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame) (arm_linux_rt_sigreturn_tramp_frame) (arm_eabi_linux_sigreturn_tramp_frame) (arm_eabi_linux_rt_sigreturn_tramp_frame) (thumb2_eabi_linux_sigreturn_tramp_frame) (thumb2_eabi_linux_rt_sigreturn_tramp_frame) (arm_linux_restart_syscall_tramp_frame) (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX. * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX. * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use ULONGEST_MAX. * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
2018-08-08 03:04:05 +08:00
{ 0x3821fff0, ULONGEST_MAX }, /* add r1,r1,-16 */
{ 0x4e800021, ULONGEST_MAX }, /* blrl */
{ 0x38610018, ULONGEST_MAX }, /* addi r3,r1,24 */
{ 0x38000127, ULONGEST_MAX }, /* li r0,295 */
{ 0x44000002, ULONGEST_MAX }, /* sc */
{ 0x38000001, ULONGEST_MAX }, /* li r0,1 */
{ 0x44000002, ULONGEST_MAX }, /* sc */
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
},
ppcnbsd_sigtramp_cache_init
};
/* NetBSD 2.0 introduced a slightly different signal trampoline. */
Fix redefinition errors in C++ mode In C, we can forward declare static structure instances. That doesn't work in C++ though. C++ treats these as definitions. So then the compiler complains about symbol redefinition, like: src/gdb/elfread.c:1569:29: error: redefinition of ‘const sym_fns elf_sym_fns_lazy_psyms’ src/gdb/elfread.c:53:29: error: ‘const sym_fns elf_sym_fns_lazy_psyms’ previously declared here The intent of static here is naturally to avoid making these objects visible outside the compilation unit. The equivalent in C++ would be to instead define the objects in the anonymous namespace. But given that it's desirable to leave the codebase compiling as both C and C++ for a while, this just makes the objects extern. (base_breakpoint_ops is already declared in breakpoint.h, so we can just remove the forward declare from breakpoint.c) gdb/ChangeLog: 2015-02-11 Tom Tromey <tromey@redhat.com> Pedro Alves <palves@redhat.com> * breakpoint.c (base_breakpoint_ops): Delete. * dwarf2loc.c (dwarf_expr_ctx_funcs): Make extern. * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_lazy_psyms): Make extern. * guile/guile.c (guile_extension_script_ops, guile_extension_ops): Make extern. * ppcnbsd-tdep.c (ppcnbsd2_sigtramp): Make extern. * python/py-arch.c (arch_object_type): Make extern. * python/py-block.c (block_syms_iterator_object_type): Make extern. * python/py-bpevent.c (breakpoint_event_object_type): Make extern. * python/py-cmd.c (cmdpy_object_type): Make extern. * python/py-continueevent.c (continue_event_object_type) * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove 'qual' parameter. Update all callers. * python/py-evtregistry.c (eventregistry_object_type): Make extern. * python/py-exitedevent.c (exited_event_object_type): Make extern. * python/py-finishbreakpoint.c (finish_breakpoint_object_type): Make extern. * python/py-function.c (fnpy_object_type): Make extern. * python/py-inferior.c (inferior_object_type, membuf_object_type): Make extern. * python/py-infevents.c (call_pre_event_object_type) (inferior_call_post_event_object_type). (memory_changed_event_object_type): Make extern. * python/py-infthread.c (thread_object_type): Make extern. * python/py-lazy-string.c (lazy_string_object_type): Make extern. * python/py-linetable.c (linetable_entry_object_type) (linetable_object_type, ltpy_iterator_object_type): Make extern. * python/py-newobjfileevent.c (new_objfile_event_object_type) (clear_objfiles_event_object_type): Make extern. * python/py-objfile.c (objfile_object_type): Make extern. * python/py-param.c (parmpy_object_type): Make extern. * python/py-progspace.c (pspace_object_type): Make extern. * python/py-signalevent.c (signal_event_object_type): Make extern. * python/py-symtab.c (symtab_object_type, sal_object_type): Make extern. * python/py-type.c (type_object_type, field_object_type) (type_iterator_object_type): Make extern. * python/python.c (python_extension_script_ops) (python_extension_ops): Make extern. * stap-probe.c (stap_probe_ops): Make extern.
2015-02-11 19:20:21 +08:00
const struct tramp_frame ppcnbsd2_sigtramp =
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
{
SIGTRAMP_FRAME,
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
4,
{
Avoid -Wnarrowing warnings in struct tramp_frame instances This avoids -Wnarrowing warnings in struct tramp_frame instances, replacing uses of -1 with a new ULONGEST_MAX. It also redefined TRAMP_SENTINEL_INSN to avoid the same warning. gdb/ChangeLog 2018-08-27 Tom Tromey <tom@tromey.com> * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine. * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use ULONGEST_MAX. * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX. * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use ULONGEST_MAX. * sparc-linux-tdep.c (sparc32_linux_sigframe) (sparc32_linux_rt_sigframe): Use ULONGEST_MAX. * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use ULONGEST_MAX. * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame) (ppc64_linux_sigaction_tramp_frame) (ppc32_linux_sighandler_tramp_frame) (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX. * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame) (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX. * mn10300-linux-tdep.c (am33_linux_sigframe) (am33_linux_rt_sigframe): Use ULONGEST_MAX. * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX. * mips-linux-tdep.c (mips_linux_o32_sigframe) (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe) (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe) (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe) (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX. * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe) (mips64_fbsd_sigframe): Use ULONGEST_MAX. * microblaze-linux-tdep.c (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX. * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2) (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31) (i386nbsd_sigtramp_si4): Use ULONGEST_MAX. * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX. * common/common-types.h (ULONGEST_MAX): New define. (CORE_ADDR_MAX): Fix formatting. * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX. * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX. * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame) (arm_linux_rt_sigreturn_tramp_frame) (arm_eabi_linux_sigreturn_tramp_frame) (arm_eabi_linux_rt_sigreturn_tramp_frame) (thumb2_eabi_linux_sigreturn_tramp_frame) (thumb2_eabi_linux_rt_sigreturn_tramp_frame) (arm_linux_restart_syscall_tramp_frame) (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX. * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX. * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use ULONGEST_MAX. * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
2018-08-08 03:04:05 +08:00
{ 0x3821fff0, ULONGEST_MAX }, /* add r1,r1,-16 */
{ 0x4e800021, ULONGEST_MAX }, /* blrl */
{ 0x38610010, ULONGEST_MAX }, /* addi r3,r1,16 */
{ 0x38000127, ULONGEST_MAX }, /* li r0,295 */
{ 0x44000002, ULONGEST_MAX }, /* sc */
{ 0x38000001, ULONGEST_MAX }, /* li r0,1 */
{ 0x44000002, ULONGEST_MAX }, /* sc */
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
},
ppcnbsd_sigtramp_cache_init
};
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
static void
ppcnbsd_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
{
/* For NetBSD, this is an on again, off again thing. Some systems
do use the broken struct convention, and some don't. */
2003-11-07 Andrew Cagney <cagney@redhat.com> * ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux, set "return_value" instead of "use_struct_convention". (ppc_linux_use_struct_convention): Delete function. (ppc_linux_return_value): New function. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): New function. (ppc_sysv_abi_broken_return_value): New function. (do_ppc_sysv_return_value): Add "gdbarch" parameter. (ppc64_sysv_abi_push_dummy_call): Add "gdbarch" parameter, drop static. (ppc_sysv_abi_extract_return_value): Delete function. (ppc_sysv_abi_broken_extract_return_value): Delete function. (ppc_sysv_abi_store_return_value): Delete function. (ppc_sysv_abi_broken_store_return_value): Delete function. (ppc_sysv_abi_use_struct_convention): Delete function. (ppc64_sysv_abi_use_struct_convention): Delete function. (ppc64_sysv_abi_extract_return_value): Delete function. (ppc64_sysv_abi_store_return_value): Delete function. * ppcnbsd-tdep.c (ppcnbsd_return_value): New function. (ppcnbsd_init_abi): Set "return_value", instead of "use_struct_convention", "extract_return_value", and "store_return_value". (ppcnbsd_use_struct_convention): Delete function. * ppc-tdep.h (ppc64_sysv_abi_return_value): Declare. (ppc_sysv_abi_return_value): Declare. (ppc_sysv_abi_broken_return_value): Declare. (ppc_sysv_abi_use_struct_convention): Delete. (ppc_sysv_abi_store_return_value): Delete. (ppc_sysv_abi_extract_return_value): Delete. (ppc_sysv_abi_broken_store_return_value): Delete. (ppc_sysv_abi_broken_extract_return_value): Delete. (ppc64_sysv_abi_use_struct_convention): Delete. (ppc64_sysv_abi_extract_return_value): Delete. (ppc64_sysv_abi_store_return_value): Delete. * rs6000-tdep.c (rs6000_gdbarch_init): For 32-bit and 64-bit SYSV, set "return_value" instead of "extract_return_value", "store_return_value", and "use_struct_convention".
2003-11-08 04:44:51 +08:00
set_gdbarch_return_value (gdbarch, ppcnbsd_return_value);
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
/* NetBSD 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, ppcnbsd_iterate_over_regset_sections);
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
tramp_frame_prepend_unwinder (gdbarch, &ppcnbsd_sigtramp);
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
tramp_frame_prepend_unwinder (gdbarch, &ppcnbsd2_sigtramp);
}
void
_initialize_ppcnbsd_tdep (void)
{
gdb: Remove support for obsolete OSABIs and a.out 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.
2016-12-10 00:08:49 +08:00
gdbarch_register_osabi (bfd_arch_powerpc, 0, GDB_OSABI_NETBSD,
ppcnbsd_init_abi);
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
/* Avoid initializing the register offsets again if they were
already initialized by ppcnbsd-nat.c. */
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
if (ppcnbsd_reg_offsets.pc_offset == 0)
{
/* General-purpose registers. */
ppcnbsd_reg_offsets.r0_offset = 0;
* ppc-linux-nat.c (right_fill_reg): Delete. (supply_gregset): Use ppc_supply_gregset. (supply_fpregset): Use ppc_supply_fpregset. (fill_gregset): Use ppc_collect_gregset. (fill_fpregset): Use ppc_collect_fpregset. * ppc-linux-tdep.c (PPC_LINUX_PT_*): Don't define. (right_supply_register, ppc_linux_supply_gregset): Delete. (ppc32_linux_supply_gregset, ppc64_linux_supply_gregset): Delete. (ppc_linux_supply_fpregset): Delete. (ppc_linux_collect_gregset): New function. (ppc32_linux_reg_offsets, ppc64_linux_reg_offsets): New. (ppc32_linux_gregset, ppc64_linux_gregset): Update to use reg offsets, ppc_linux_supply_gregset, and ppc_collect_gregset. (ppc_linux_fpregset): Rename to ppc32_linux_fpregset and update. (ppc_linux_gregset, ppc_linux_fpregset): New functions. (ppc_linux_regset_from_core_section): Update. * ppc-tdep.h (ppc_linux_gregset, ppc_linux_fpregset): Declare. (ppc_linux_supply_gregset, ppc_linux_supply_fpregset): Delete. (struct ppc_reg_offsets): Add gpr_size, xr_size, fpscr_size fields. * ppcobsd-tdep.c (ppcobsd_supply_gregset): Delete FIXME and assert. (ppcobsd_collect_gregset): Likewise. (_initialize_ppcnbsd_tdep): Init gpr_size, xr_size, fpscr_size. * ppcnbsd-tdep.c (_initialize_ppcobsd_tdep): Likewise. * ppcobsd-nat.c (_initialize_ppcobsd_nat): Likewise. * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Likewise. (rs6000_aix64_reg_offsets): Likewise. (rs6000_aix_supply_regset): Call ppc_supply_fpregset without testing ppc_floating_point_unit_p. (rs6000_aix_collect_regset): Similarly. * rs6000-tdep.c (ppc_supply_reg): Add regsize param. Adjust offset when regsize is larger than regcache register size. (ppc_collect_reg): Similarly zero pad when regsize is larger than regcache register size. (ppc_greg_offset): New function, split out from.. (ppc_supply_gregset): ..here. Separate code handling all regs from single reg case. Correct xer offset. (ppc_fpreg_offset): New function, split out from.. (ppc_supply_fpregset): ..here. Separate code handling all regs from single reg case. (ppc_collect_gregset, ppc_collect_fpregset): Likewise. (ppc_supply_fpregset, ppc_collect_fpregset): Don't assert we have a fp unit, instead return if no fp.
2007-08-30 21:13:59 +08:00
ppcnbsd_reg_offsets.gpr_size = 4;
ppcnbsd_reg_offsets.xr_size = 4;
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
ppcnbsd_reg_offsets.lr_offset = 128;
ppcnbsd_reg_offsets.cr_offset = 132;
ppcnbsd_reg_offsets.xer_offset = 136;
ppcnbsd_reg_offsets.ctr_offset = 140;
ppcnbsd_reg_offsets.pc_offset = 144;
ppcnbsd_reg_offsets.ps_offset = -1;
ppcnbsd_reg_offsets.mq_offset = -1;
/* Floating-point registers. */
ppcnbsd_reg_offsets.f0_offset = 0;
ppcnbsd_reg_offsets.fpscr_offset = 256;
* ppc-linux-nat.c (right_fill_reg): Delete. (supply_gregset): Use ppc_supply_gregset. (supply_fpregset): Use ppc_supply_fpregset. (fill_gregset): Use ppc_collect_gregset. (fill_fpregset): Use ppc_collect_fpregset. * ppc-linux-tdep.c (PPC_LINUX_PT_*): Don't define. (right_supply_register, ppc_linux_supply_gregset): Delete. (ppc32_linux_supply_gregset, ppc64_linux_supply_gregset): Delete. (ppc_linux_supply_fpregset): Delete. (ppc_linux_collect_gregset): New function. (ppc32_linux_reg_offsets, ppc64_linux_reg_offsets): New. (ppc32_linux_gregset, ppc64_linux_gregset): Update to use reg offsets, ppc_linux_supply_gregset, and ppc_collect_gregset. (ppc_linux_fpregset): Rename to ppc32_linux_fpregset and update. (ppc_linux_gregset, ppc_linux_fpregset): New functions. (ppc_linux_regset_from_core_section): Update. * ppc-tdep.h (ppc_linux_gregset, ppc_linux_fpregset): Declare. (ppc_linux_supply_gregset, ppc_linux_supply_fpregset): Delete. (struct ppc_reg_offsets): Add gpr_size, xr_size, fpscr_size fields. * ppcobsd-tdep.c (ppcobsd_supply_gregset): Delete FIXME and assert. (ppcobsd_collect_gregset): Likewise. (_initialize_ppcnbsd_tdep): Init gpr_size, xr_size, fpscr_size. * ppcnbsd-tdep.c (_initialize_ppcobsd_tdep): Likewise. * ppcobsd-nat.c (_initialize_ppcobsd_nat): Likewise. * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Likewise. (rs6000_aix64_reg_offsets): Likewise. (rs6000_aix_supply_regset): Call ppc_supply_fpregset without testing ppc_floating_point_unit_p. (rs6000_aix_collect_regset): Similarly. * rs6000-tdep.c (ppc_supply_reg): Add regsize param. Adjust offset when regsize is larger than regcache register size. (ppc_collect_reg): Similarly zero pad when regsize is larger than regcache register size. (ppc_greg_offset): New function, split out from.. (ppc_supply_gregset): ..here. Separate code handling all regs from single reg case. Correct xer offset. (ppc_fpreg_offset): New function, split out from.. (ppc_supply_fpregset): ..here. Separate code handling all regs from single reg case. (ppc_collect_gregset, ppc_collect_fpregset): Likewise. (ppc_supply_fpregset, ppc_collect_fpregset): Don't assert we have a fp unit, instead return if no fp.
2007-08-30 21:13:59 +08:00
ppcnbsd_reg_offsets.fpscr_size = 4;
* ppcnbsd-tdep.h: Update copyright year. Include <stddef.h> (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove prototypes. (struct regset): Add forward declaration. (ppcnbsd_gregset, ppcnbsd_fpregset): Extern declarations. * ppcnbsd-tdep.c: Update copyright year. Include "gdbtypes.h", "regset.h" and "gdb_string.h". Don't include "breakpoint.h", "value.h", target.h and nbsd-tdep.h". Reorder includes. (REG_FIXREG_OFFSET, REG_LR_OFFSET, REG_CR_OFFSET, REG_XER_OFFSET) (REG_CTR_OFFSET, REG_PC_OFFSET, SIZEOF_STRUCT_REG) (FPREG_FPR_OFFSET, FPREG_FPSCR_OFFSET, SIZEOF_STRUCT_FPREG): Remove macros. (ppcnbsd_supply_reg, ppcnbsd_fill_reg, ppcnbsd_supply_fpreg) (ppcnbsd_fill_fpreg): Remove functions. (fetch_core_registers, fetch_elfcore_registers): Remove functions. (ppcnbsd_core_fns, ppcnbsd_elfcore_fns): Remove variables. (ppcnbsd_reg_offsets): New variable. (ppcnbsd_gregset, ppcnbsd_fpregset): New variables. (ppcnbsd_sigtramp_cache_init): Deal with new signal trampoline introduced in NetBSD 2.0. (ppcnbsd_sigtramp): Provide complete signal trampoline. (ppcnbsd2_sigtramp): New variable. (ppcnbsd_init_abi): Set svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. Set regset_from_core_section. Add ppcnbs2_sigtramp unwinder. (_initialize_ppcnbsd_tdep): Don't use deprecated_add_core_fns. Initialize ppcnbsd_reg_offsets. * ppcnbsd-nat.c: Update copyright year. Reorder includes. (getregs_supplies): Use regnum instead of regno. (getfpregs_supplies): Likewise. (ppcnbsd_fetch_inferior_registers): Likewise. Call ppc_supply_gregset and ppc_suppply_fpregset instead of ppcnbsd_supply_reg and ppcnbsd_supply_fpreg (ppcnbsd_store_inferior_registers): Likewise. Call ppc_collect_gregset and ppc_collect_fpregset instead of ppcnbsd_fill_reg and ppcnbsd_fill_fpreg. (ppcnbsd_supply_pcb): Use `gdb_byte *' instead of `char *'. (_initialize_ppcnbsd_nat): Add some whitespace. * Makefile.in (ppcnbsd-nat.o, ppcnbsd-tdep.o): Update dependencies. * config/powerpc/nbsd.mh (NATDEPFILES): Remove infptrace.o. (NAT_FILE): Remove. * config/powerpc/nbsd.mt (TDEPFILES): Remove nbsd-tdep.o.
2006-05-13 04:53:15 +08:00
}
}