binutils-gdb/gdb/ppcnbsd-nat.c

194 lines
5.8 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
/* Native-dependent code for NetBSD/powerpc.
Copyright (C) 2002, 2004, 2005, 2006 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 2 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, write to the Free Software
* breakpoint.c: * arm-tdep.c: * ia64-tdep.c: * i386-tdep.c: * hpread.c: * hppa-tdep.c: * hppa-hpux-tdep.c: * gnu-nat.c: * gdbtypes.c: * gdbarch.h: * gdbarch.c: * eval.c: * dwarf2read.c: * dbxread.c: * copying: * symfile.c: * stabsread.c: * sh64-tdep.c: * sh-tdep.c: * s390-tdep.c: * rs6000-tdep.c: * remote.c: * remote-mips.c: * mips-tdep.c: * mdebugread.c: * linux-nat.c: * infrun.c: * xcoffread.c: * win32-nat.c: * valops.c: * utils.c: * tracepoint.c: * target.c: * symtab.c: * c-exp.y: * ada-valprint.c: * ada-typeprint.c: * ada-lex.l: * ada-lang.h: * ada-lang.c: * ada-exp.y: * alphafbsd-tdep.c: * alphabsd-tdep.h: * alphabsd-tdep.c: * alphabsd-nat.c: * alpha-tdep.h: * alpha-tdep.c: * alpha-osf1-tdep.c: * alpha-nat.c: * alpha-mdebug-tdep.c: * alpha-linux-tdep.c: * alpha-linux-nat.c: * aix-thread.c: * abug-rom.c: * arch-utils.c: * annotate.h: * annotate.c: * amd64obsd-tdep.c: * amd64obsd-nat.c: * amd64nbsd-tdep.c: * amd64nbsd-nat.c: * amd64fbsd-tdep.c: * amd64fbsd-nat.c: * amd64bsd-nat.c: * amd64-tdep.h: * amd64-tdep.c: * amd64-sol2-tdep.c: * amd64-nat.h: * amd64-nat.c: * amd64-linux-tdep.c: * amd64-linux-nat.c: * alphanbsd-tdep.c: * block.h: * block.c: * bfd-target.h: * bfd-target.c: * bcache.h: * bcache.c: * ax.h: * ax-general.c: * ax-gdb.h: * ax-gdb.c: * avr-tdep.c: * auxv.h: * auxv.c: * armnbsd-tdep.c: * armnbsd-nat.c: * arm-tdep.h: * arm-linux-nat.c: * arch-utils.h: * charset.c: * call-cmds.h: * c-valprint.c: * c-typeprint.c: * c-lang.h: * c-lang.c: * buildsym.h: * buildsym.c: * bsd-uthread.h: * bsd-uthread.c: * bsd-kvm.h: * bsd-kvm.c: * breakpoint.h: * core-regset.c: * core-aout.c: * completer.h: * completer.c: * complaints.h: * complaints.c: * command.h: * coffread.c: * coff-solib.h: * coff-solib.c: * coff-pe-read.h: * coff-pe-read.c: * cli-out.h: * cli-out.c: * charset.h: * dink32-rom.c: * dictionary.h: * dictionary.c: * demangle.c: * defs.h: * dcache.h: * dcache.c: * d10v-tdep.c: * cpu32bug-rom.c: * cp-valprint.c: * cp-support.h: * cp-support.c: * cp-namespace.c: * cp-abi.h: * cp-abi.c: * corelow.c: * corefile.c: * environ.c: * elfread.c: * dwarfread.c: * dwarf2loc.c: * dwarf2expr.h: * dwarf2expr.c: * dwarf2-frame.h: * dwarf2-frame.c: * dve3900-rom.c: * dummy-frame.h: * dummy-frame.c: * dsrec.c: * doublest.h: * doublest.c: * disasm.h: * disasm.c: * fork-child.c: * findvar.c: * fbsd-nat.h: * fbsd-nat.c: * f-valprint.c: * f-typeprint.c: * f-lang.h: * f-lang.c: * expression.h: * expprint.c: * exec.h: * exec.c: * exceptions.h: * exceptions.c: * event-top.h: * event-top.c: * event-loop.h: * event-loop.c: * gdb.c: * gdb-stabs.h: * gdb-events.h: * gdb-events.c: * gcore.c: * frv-tdep.h: * frv-tdep.c: * frv-linux-tdep.c: * frame.h: * frame.c: * frame-unwind.h: * frame-unwind.c: * frame-base.h: * frame-base.c: * gdb_vfork.h: * gdb_thread_db.h: * gdb_string.h: * gdb_stat.h: * gdb_regex.h: * gdb_ptrace.h: * gdb_proc_service.h: * gdb_obstack.h: * gdb_locale.h: * gdb_dirent.h: * gdb_curses.h: * gdb_assert.h: * gdbarch.sh: * gdb.h: * hpux-thread.c: * hppabsd-nat.c: * hppa-tdep.h: * hpacc-abi.c: * h8300-tdep.c: * gregset.h: * go32-nat.c: * gnu-v3-abi.c: * gnu-v2-abi.h: * gnu-v2-abi.c: * gnu-nat.h: * glibc-tdep.c: * gdbtypes.h: * gdbcore.h: * gdbcmd.h: * i386nbsd-tdep.c: * i386nbsd-nat.c: * i386gnu-tdep.c: * i386gnu-nat.c: * i386fbsd-tdep.c: * i386fbsd-nat.c: * i386bsd-tdep.c: * i386bsd-nat.h: * i386bsd-nat.c: * i386-tdep.h: * i386-sol2-nat.c: * i386-nto-tdep.c: * i386-nat.c: * i386-linux-tdep.h: * i386-linux-tdep.c: * i386-linux-nat.c: * i386-cygwin-tdep.c: * inf-ttrace.c: * inf-ptrace.h: * inf-ptrace.c: * inf-loop.h: * inf-loop.c: * inf-child.h: * inf-child.c: * ia64-tdep.h: * ia64-linux-nat.c: * i387-tdep.h: * i387-tdep.c: * i386v4-nat.c: * i386v-nat.c: * i386obsd-tdep.c: * i386obsd-nat.c: * kod.c: * jv-valprint.c: * jv-typeprint.c: * jv-lang.h: * jv-lang.c: * irix5-nat.c: * iq2000-tdep.c: * interps.h: * interps.c: * inftarg.c: * inflow.h: * inflow.c: * inferior.h: * infcmd.c: * infcall.h: * infcall.c: * inf-ttrace.h: * m32r-tdep.h: * m32r-tdep.c: * m32r-rom.c: * m32r-linux-tdep.c: * m32r-linux-nat.c: * m2-valprint.c: * m2-typeprint.c: * m2-lang.h: * m2-lang.c: * lynx-nat.c: * linux-thread-db.c: * linux-nat.h: * linespec.c: * libunwind-frame.h: * libunwind-frame.c: * language.h: * language.c: * macroexp.c: * macrocmd.c: * m88kbsd-nat.c: * m88k-tdep.h: * m88k-tdep.c: * m68klinux-tdep.c: * m68klinux-nat.c: * m68kbsd-tdep.c: * m68kbsd-nat.c: * m68k-tdep.h: * m68k-tdep.c: * mips-linux-nat.c: * mips-irix-tdep.c: * minsyms.c: * memattr.h: * memattr.c: * mem-break.c: * mdebugread.h: * main.h: * main.c: * macrotab.h: * macrotab.c: * macroscope.h: * macroscope.c: * macroexp.h: * nbsd-tdep.c: * mt-tdep.c: * monitor.h: * monitor.c: * mn10300-tdep.h: * mn10300-tdep.c: * mn10300-linux-tdep.c: * mipsv4-nat.c: * mipsread.c: * mipsnbsd-tdep.h: * mipsnbsd-tdep.c: * mipsnbsd-nat.c: * mips64obsd-tdep.c: * mips64obsd-nat.c: * mips-tdep.h: * mips-mdebug-tdep.c: * mips-linux-tdep.c: * osabi.h: * osabi.c: * ocd.h: * ocd.c: * observer.c: * objfiles.h: * objfiles.c: * objc-lang.h: * objc-lang.c: * objc-exp.y: * nto-tdep.h: * nto-tdep.c: * nto-procfs.c: * nlmread.c: * nbsd-tdep.h: * ppcobsd-tdep.c: * ppcobsd-nat.c: * ppcnbsd-tdep.h: * ppcnbsd-tdep.c: * ppcnbsd-nat.c: * ppcbug-rom.c: * ppc-tdep.h: * ppc-sysv-tdep.c: * ppc-linux-tdep.c: * ppc-linux-nat.c: * ppc-bdm.c: * parser-defs.h: * parse.c: * p-valprint.c: * p-typeprint.c: * p-lang.h: * p-lang.c: * remote-fileio.h: * remote-fileio.c: * remote-est.c: * remote-e7000.c: * regset.h: * regset.c: * reggroups.h: * reggroups.c: * regcache.h: * regcache.c: * proc-why.c: * proc-service.c: * proc-events.c: * printcmd.c: * ppcobsd-tdep.h: * sentinel-frame.h: * sentinel-frame.c: * scm-valprint.c: * scm-tags.h: * scm-lang.h: * scm-lang.c: * scm-exp.c: * s390-tdep.h: * rom68k-rom.c: * remote.h: * remote-utils.c: * remote-st.c: * remote-sim.c: * remote-sds.c: * remote-rdp.c: * remote-rdi.c: * remote-hms.c: * sim-regno.h: * shnbsd-tdep.h: * shnbsd-tdep.c: * shnbsd-nat.c: * sh-tdep.h: * serial.h: * serial.c: * ser-unix.h: * ser-unix.c: * ser-tcp.c: * ser-pipe.c: * ser-go32.c: * ser-e7kpc.c: * ser-base.h: * ser-base.c: * solib.c: * solib-svr4.h: * solib-svr4.c: * solib-sunos.c: * solib-som.h: * solib-som.c: * solib-pa64.h: * solib-pa64.c: * solib-osf.c: * solib-null.c: * solib-legacy.c: * solib-irix.c: * solib-frv.c: * solib-aix5.c: * sol-thread.c: * sparc64-linux-tdep.c: * sparc64-linux-nat.c: * sparc-tdep.h: * sparc-tdep.c: * sparc-sol2-tdep.c: * sparc-sol2-nat.c: * sparc-nat.h: * sparc-nat.c: * sparc-linux-tdep.c: * sparc-linux-nat.c: * source.h: * source.c: * somread.c: * solist.h: * solib.h: * std-regs.c: * stack.h: * stack.c: * stabsread.h: * sparcobsd-tdep.c: * sparcnbsd-tdep.c: * sparcnbsd-nat.c: * sparc64obsd-tdep.c: * sparc64nbsd-tdep.c: * sparc64nbsd-nat.c: * sparc64fbsd-tdep.c: * sparc64fbsd-nat.c: * sparc64-tdep.h: * sparc64-tdep.c: * sparc64-sol2-tdep.c: * sparc64-nat.c: * ui-file.c: * typeprint.h: * typeprint.c: * tramp-frame.h: * tramp-frame.c: * trad-frame.h: * trad-frame.c: * tracepoint.h: * top.c: * tobs.inc: * thread.c: * terminal.h: * target.h: * symfile.h: * stop-gdb.c: * vaxbsd-nat.c: * vax-tdep.h: * vax-tdep.c: * vax-nat.c: * varobj.h: * varobj.c: * value.h: * value.c: * valprint.h: * valprint.c: * v850-tdep.c: * uw-thread.c: * user-regs.c: * ui-out.h: * ui-out.c: * ui-file.h: * xcoffsolib.h: * xcoffsolib.c: * wrapper.c: * wince.c: * wince-stub.h: * wince-stub.c: * vaxobsd-tdep.c: * vaxnbsd-tdep.c: * gdb_gcore.sh: * copying.c: * configure.ac: * aclocal.m4: * acinclude.m4: * reply_mig_hack.awk: * observer.sh: * gdb_mbuild.sh: * arm-linux-tdep.c: * blockframe.c: * dbug-rom.c: * environ.h: * dwarf2loc.h: * gdb-events.sh: * glibc-tdep.h: * gdb_wait.h: * gdbthread.h: * i386-sol2-tdep.c: * hppabsd-tdep.c: * hppa-linux-nat.c: * hppa-hpux-nat.c: * ia64-linux-tdep.c: * infptrace.c: * linespec.h: * maint.c: * mips-mdebug-tdep.h: * remote-m32r-sdi.c: * s390-nat.c: * rs6000-nat.c: * remote-utils.h: * sh3-rom.c: * sh-linux-tdep.c: * top.h: * symtab.h: * symmisc.c: * symfile-mem.c: * srec.h: * user-regs.h: * version.h: * valarith.c: * xstormy16-tdep.c: * wrapper.h: * Makefile.in: * f-exp.y: * cris-tdep.c: * cp-name-parser.y: * procfs.c: * proc-utils.h: * proc-flags.c: * proc-api.c: * p-exp.y: * m68hc11-tdep.c: * m2-exp.y: * kod.h: * kod-cisco.c: * jv-exp.y: * hppa-linux-tdep.c: Add (c) after Copyright. Update the FSF address.
2005-12-18 06:34:03 +08:00
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
#include <sys/types.h>
#include <sys/ptrace.h>
#include <machine/reg.h>
#include <machine/frame.h>
#include <machine/pcb.h>
#include "defs.h"
#include "gdbcore.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 "inferior.h"
#include "regcache.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 "gdb_assert.h"
#include "ppc-tdep.h"
#include "ppcnbsd-tdep.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 "bsd-kvm.h"
#include "inf-ptrace.h"
/* Returns true if PT_GETREGS fetches this register. */
* 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 int
* 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
getregs_supplies (int regnum)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (current_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
return ((regnum >= tdep->ppc_gp0_regnum
&& regnum < tdep->ppc_gp0_regnum + ppc_num_gprs)
|| regnum == tdep->ppc_lr_regnum
|| regnum == tdep->ppc_cr_regnum
|| regnum == tdep->ppc_xer_regnum
|| regnum == tdep->ppc_ctr_regnum
|| regnum == PC_REGNUM);
}
/* Like above, but for PT_GETFPREGS. */
* 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 int
* 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
getfpregs_supplies (int regnum)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
* ppc-tdep.h (struct gdbarch_tdep): Change definition of ppc_fp0_regnum and ppc_fpscr_regnum: if they are -1, then this processor variant lacks those registers. (ppc_floating_point_unit_p): Change description to make it clear that this returns info about the ISA, not the ABI. * rs6000-tdep.c (ppc_floating_point_unit_p): Decide whether to return true or false by checking tdep->ppc_fp0_regnum and tdep->ppc_fpscr_regnum. The original code replicated the BFD arch/mach switching done in rs6000_gdbarch_init; it's better to keep that logic there, and just check the results here. (rs6000_gdbarch_init): On the E500, set tdep->ppc_fp0_regnum and tdep->ppc_fpscr_regnum to -1 to indicate that we have no floating-point registers. (ppc_supply_fpregset, ppc_collect_fpregset) (rs6000_push_dummy_call, rs6000_extract_return_value) (rs6000_store_return_value): Assert that we have floating-point registers. (rs6000_dwarf2_stab_reg_to_regnum): Add FIXME. (rs6000_frame_cache): Don't note the locations at which floating-point registers were saved if we have no fprs. * aix-thread.c (supply_fprs, fill_fprs): Assert that we have FP registers. (fetch_regs_user_thread, fetch_regs_kernel_thread) (store_regs_user_thread, store_regs_kernel_thread): Only call supply_fprs / fill_fprs if we actually have floating-point registers. (special_register_p): Check ppc_fpscr_regnum before matching against it. (supply_sprs64, supply_sprs32, fill_sprs64, fill_sprs32): Don't supply / collect fpscr if we don't have it. * ppc-bdm.c: #include "gdb_assert.h". (bdm_ppc_fetch_registers, bdm_ppc_store_registers): Assert that we have floating-point registers, since I can't test this code on FP-free systems to adapt it. * ppc-linux-nat.c (ppc_register_u_addr): Don't match against the fpscr and floating point register numbers if they don't exist. (fetch_register): Assert that we have floating-point registers before we reach the code that handles them. (store_register): Same. And use tdep instead of calling gdbarch_tdep again. (fill_fpregset): Don't try to collect FP registers and fpscr if we don't have them. (ppc_linux_sigtramp_cache): Don't record the saved locations of fprs and fpscr if we don't have them. (ppc_linux_supply_fpregset): Don't supply fp regs and fpscr if we don't have them. * ppcnbsd-nat.c: #include "gdb_assert.h". (getfpregs_supplies): Assert that we have floating-point registers. * ppcnbsd-tdep.c (ppcnbsd_supply_fpreg, ppcnbsd_fill_fpreg): Same. * ppcobsd-tdep.c: #include "gdb_assert.h". (ppcobsd_supply_gregset, ppcobsd_collect_gregset): Assert that we have floating-point registers. * rs6000-nat.c (regmap): Don't match against the fpscr and floating point register numbers if they don't exist. (fetch_inferior_registers, store_inferior_registers, fetch_core_registers): Only fetch / store / supply the floating-point registers and the fpscr if we have them. * Makefile.in (ppc-bdm.o, ppc-linux-nat.o, ppcnbsd-nat.o) (ppcobsd-tdep.o): Update dependencies.
2004-05-11 12:55:32 +08:00
/* FIXME: jimb/2004-05-05: Some PPC variants don't have floating
point registers. Traditionally, GDB's register set has still
listed the floating point registers for such machines, so this
code is harmless. However, the new E500 port actually omits the
floating point registers entirely from the register set --- they
don't even have register numbers assigned to them.
It's not clear to me how best to update this code, so this assert
will alert the first person to encounter the NetBSD/E500
combination to the problem. */
gdb_assert (ppc_floating_point_unit_p (current_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
return ((regnum >= tdep->ppc_fp0_regnum
&& regnum < tdep->ppc_fp0_regnum + ppc_num_fprs)
|| regnum == tdep->ppc_fpscr_regnum);
}
static void
* 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_fetch_inferior_registers (int 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
if (regnum == -1 || getregs_supplies (regnum))
{
struct reg regs;
if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
* alphabsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * amd64bsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * armnbsd-nat.c: Update copyright year. (fetch_register, fetch_regs, fetch_fp_register, fetch_fp_regs) (store_register, store_regs, store_fp_register, store_fp_regs): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * hppabsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * i386bsd-nat.c (fetch_inferior_registers) (store_inferior_registers, i386bsd_dr_set, i386bsd_dr_get_status): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m68kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m88kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * mipsnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ns32knbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcnbsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcobsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * shnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * vaxbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3.
2004-08-15 07:37:04 +08:00
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
2005-02-11 Andrew Cagney <cagney@gnu.org> Mark up error_no_arg, query, perror_with_name, complaint, and internal_error. * breakpoint.c, cp-abi.c, cp-namespace.c, cp-support.c: Update. * cris-tdep.c, dbxread.c, dictionary.c, dsrec.c: Update. * dummy-frame.c, dve3900-rom.c, dwarf2-frame.c, dwarf2expr.c: Update. * dwarf2read.c, dwarfread.c, elfread.c, event-loop.c: Update. * exceptions.c, exec.c, f-lang.c, findvar.c, fork-child.c: Update. * frame-unwind.c, frame.c, frv-linux-tdep.c, frv-tdep.c: Update. * gdb_assert.h, gdbarch.c, gdbtypes.c, gnu-nat.c: Update. * go32-nat.c, hppa-tdep.c, hppabsd-nat.c, hpread.c: Update. * i386-linux-nat.c, i386-nat.c, i386-tdep.c, i386bsd-nat.c: Update. * i386fbsd-nat.c, inf-ptrace.c, inf-ttrace.c, infcall.c: Update. * infcmd.c, inflow.c, infptrace.c, infrun.c, inftarg.c: Update. * interps.c, language.c, linespec.c, linux-nat.c: Update. * m32r-linux-nat.c, m68k-tdep.c, m68kbsd-nat.c: Update. * m68klinux-nat.c, m88kbsd-nat.c, macroexp.c, macroscope.c: Update. * macrotab.c, maint.c, mdebugread.c, memattr.c: Update. * mips-linux-tdep.c, mips-tdep.c, mips64obsd-nat.c: Update. * mipsnbsd-nat.c, mn10300-tdep.c, monitor.c, nto-procfs.c: Update. * objc-lang.c, objfiles.c, objfiles.h, ocd.c, osabi.c: Update. * parse.c, ppc-bdm.c, ppc-linux-nat.c, ppc-sysv-tdep.c: Update. * ppcnbsd-nat.c, ppcobsd-nat.c, printcmd.c, procfs.c: Update. * regcache.c, reggroups.c, remote-e7000.c, remote-mips.c: Update. * remote-rdp.c, remote-sds.c, remote-sim.c, remote-st.c: Update. * remote-utils.c, remote.c, rs6000-nat.c, rs6000-tdep.c: Update. * s390-nat.c, s390-tdep.c, sentinel-frame.c, serial.c: Update. * sh-tdep.c, sh3-rom.c, sh64-tdep.c, shnbsd-nat.c: Update. * solib-aix5.c, solib-svr4.c, solib.c, source.c: Update. * sparc-nat.c, stabsread.c, stack.c, symfile.c, symtab.c: Update. * symtab.h, target.c, tracepoint.c, ui-file.c, ui-out.c: Update. * utils.c, valops.c, valprint.c, vax-nat.c, vaxbsd-nat.c: Update. * win32-nat.c, xcoffread.c, xstormy16-tdep.c: Update. * cli/cli-cmds.c, cli/cli-logging.c, cli/cli-script.c: Update. * cli/cli-setshow.c, mi/mi-cmd-break.c, mi/mi-cmds.c: Update. * mi/mi-console.c, mi/mi-getopt.c, mi/mi-out.c: Update. * tui/tui-file.c, tui/tui-interp.c: Update.
2005-02-12 02:13:55 +08:00
perror_with_name (_("Couldn't get registers"));
* 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
ppc_supply_gregset (&ppcnbsd_gregset, current_regcache,
regnum, &regs, sizeof regs);
}
* 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 (regnum == -1 || getfpregs_supplies (regnum))
{
struct fpreg fpregs;
if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
* alphabsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * amd64bsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * armnbsd-nat.c: Update copyright year. (fetch_register, fetch_regs, fetch_fp_register, fetch_fp_regs) (store_register, store_regs, store_fp_register, store_fp_regs): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * hppabsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * i386bsd-nat.c (fetch_inferior_registers) (store_inferior_registers, i386bsd_dr_set, i386bsd_dr_get_status): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m68kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m88kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * mipsnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ns32knbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcnbsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcobsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * shnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * vaxbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3.
2004-08-15 07:37:04 +08:00
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
2005-02-11 Andrew Cagney <cagney@gnu.org> Mark up error_no_arg, query, perror_with_name, complaint, and internal_error. * breakpoint.c, cp-abi.c, cp-namespace.c, cp-support.c: Update. * cris-tdep.c, dbxread.c, dictionary.c, dsrec.c: Update. * dummy-frame.c, dve3900-rom.c, dwarf2-frame.c, dwarf2expr.c: Update. * dwarf2read.c, dwarfread.c, elfread.c, event-loop.c: Update. * exceptions.c, exec.c, f-lang.c, findvar.c, fork-child.c: Update. * frame-unwind.c, frame.c, frv-linux-tdep.c, frv-tdep.c: Update. * gdb_assert.h, gdbarch.c, gdbtypes.c, gnu-nat.c: Update. * go32-nat.c, hppa-tdep.c, hppabsd-nat.c, hpread.c: Update. * i386-linux-nat.c, i386-nat.c, i386-tdep.c, i386bsd-nat.c: Update. * i386fbsd-nat.c, inf-ptrace.c, inf-ttrace.c, infcall.c: Update. * infcmd.c, inflow.c, infptrace.c, infrun.c, inftarg.c: Update. * interps.c, language.c, linespec.c, linux-nat.c: Update. * m32r-linux-nat.c, m68k-tdep.c, m68kbsd-nat.c: Update. * m68klinux-nat.c, m88kbsd-nat.c, macroexp.c, macroscope.c: Update. * macrotab.c, maint.c, mdebugread.c, memattr.c: Update. * mips-linux-tdep.c, mips-tdep.c, mips64obsd-nat.c: Update. * mipsnbsd-nat.c, mn10300-tdep.c, monitor.c, nto-procfs.c: Update. * objc-lang.c, objfiles.c, objfiles.h, ocd.c, osabi.c: Update. * parse.c, ppc-bdm.c, ppc-linux-nat.c, ppc-sysv-tdep.c: Update. * ppcnbsd-nat.c, ppcobsd-nat.c, printcmd.c, procfs.c: Update. * regcache.c, reggroups.c, remote-e7000.c, remote-mips.c: Update. * remote-rdp.c, remote-sds.c, remote-sim.c, remote-st.c: Update. * remote-utils.c, remote.c, rs6000-nat.c, rs6000-tdep.c: Update. * s390-nat.c, s390-tdep.c, sentinel-frame.c, serial.c: Update. * sh-tdep.c, sh3-rom.c, sh64-tdep.c, shnbsd-nat.c: Update. * solib-aix5.c, solib-svr4.c, solib.c, source.c: Update. * sparc-nat.c, stabsread.c, stack.c, symfile.c, symtab.c: Update. * symtab.h, target.c, tracepoint.c, ui-file.c, ui-out.c: Update. * utils.c, valops.c, valprint.c, vax-nat.c, vaxbsd-nat.c: Update. * win32-nat.c, xcoffread.c, xstormy16-tdep.c: Update. * cli/cli-cmds.c, cli/cli-logging.c, cli/cli-script.c: Update. * cli/cli-setshow.c, mi/mi-cmd-break.c, mi/mi-cmds.c: Update. * mi/mi-console.c, mi/mi-getopt.c, mi/mi-out.c: Update. * tui/tui-file.c, tui/tui-interp.c: Update.
2005-02-12 02:13:55 +08:00
perror_with_name (_("Couldn't get FP registers"));
* 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
ppc_supply_fpregset (&ppcnbsd_fpregset, current_regcache,
regnum, &fpregs, sizeof fpregs);
}
}
static void
* 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_store_inferior_registers (int 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
if (regnum == -1 || getregs_supplies (regnum))
{
struct reg regs;
if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
* alphabsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * amd64bsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * armnbsd-nat.c: Update copyright year. (fetch_register, fetch_regs, fetch_fp_register, fetch_fp_regs) (store_register, store_regs, store_fp_register, store_fp_regs): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * hppabsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * i386bsd-nat.c (fetch_inferior_registers) (store_inferior_registers, i386bsd_dr_set, i386bsd_dr_get_status): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m68kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m88kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * mipsnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ns32knbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcnbsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcobsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * shnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * vaxbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3.
2004-08-15 07:37:04 +08:00
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
2005-02-11 Andrew Cagney <cagney@gnu.org> Mark up error_no_arg, query, perror_with_name, complaint, and internal_error. * breakpoint.c, cp-abi.c, cp-namespace.c, cp-support.c: Update. * cris-tdep.c, dbxread.c, dictionary.c, dsrec.c: Update. * dummy-frame.c, dve3900-rom.c, dwarf2-frame.c, dwarf2expr.c: Update. * dwarf2read.c, dwarfread.c, elfread.c, event-loop.c: Update. * exceptions.c, exec.c, f-lang.c, findvar.c, fork-child.c: Update. * frame-unwind.c, frame.c, frv-linux-tdep.c, frv-tdep.c: Update. * gdb_assert.h, gdbarch.c, gdbtypes.c, gnu-nat.c: Update. * go32-nat.c, hppa-tdep.c, hppabsd-nat.c, hpread.c: Update. * i386-linux-nat.c, i386-nat.c, i386-tdep.c, i386bsd-nat.c: Update. * i386fbsd-nat.c, inf-ptrace.c, inf-ttrace.c, infcall.c: Update. * infcmd.c, inflow.c, infptrace.c, infrun.c, inftarg.c: Update. * interps.c, language.c, linespec.c, linux-nat.c: Update. * m32r-linux-nat.c, m68k-tdep.c, m68kbsd-nat.c: Update. * m68klinux-nat.c, m88kbsd-nat.c, macroexp.c, macroscope.c: Update. * macrotab.c, maint.c, mdebugread.c, memattr.c: Update. * mips-linux-tdep.c, mips-tdep.c, mips64obsd-nat.c: Update. * mipsnbsd-nat.c, mn10300-tdep.c, monitor.c, nto-procfs.c: Update. * objc-lang.c, objfiles.c, objfiles.h, ocd.c, osabi.c: Update. * parse.c, ppc-bdm.c, ppc-linux-nat.c, ppc-sysv-tdep.c: Update. * ppcnbsd-nat.c, ppcobsd-nat.c, printcmd.c, procfs.c: Update. * regcache.c, reggroups.c, remote-e7000.c, remote-mips.c: Update. * remote-rdp.c, remote-sds.c, remote-sim.c, remote-st.c: Update. * remote-utils.c, remote.c, rs6000-nat.c, rs6000-tdep.c: Update. * s390-nat.c, s390-tdep.c, sentinel-frame.c, serial.c: Update. * sh-tdep.c, sh3-rom.c, sh64-tdep.c, shnbsd-nat.c: Update. * solib-aix5.c, solib-svr4.c, solib.c, source.c: Update. * sparc-nat.c, stabsread.c, stack.c, symfile.c, symtab.c: Update. * symtab.h, target.c, tracepoint.c, ui-file.c, ui-out.c: Update. * utils.c, valops.c, valprint.c, vax-nat.c, vaxbsd-nat.c: Update. * win32-nat.c, xcoffread.c, xstormy16-tdep.c: Update. * cli/cli-cmds.c, cli/cli-logging.c, cli/cli-script.c: Update. * cli/cli-setshow.c, mi/mi-cmd-break.c, mi/mi-cmds.c: Update. * mi/mi-console.c, mi/mi-getopt.c, mi/mi-out.c: Update. * tui/tui-file.c, tui/tui-interp.c: Update.
2005-02-12 02:13:55 +08:00
perror_with_name (_("Couldn't get registers"));
* 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
ppc_collect_gregset (&ppcnbsd_gregset, current_regcache,
regnum, &regs, sizeof regs);
if (ptrace (PT_SETREGS, PIDGET (inferior_ptid),
* alphabsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * amd64bsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * armnbsd-nat.c: Update copyright year. (fetch_register, fetch_regs, fetch_fp_register, fetch_fp_regs) (store_register, store_regs, store_fp_register, store_fp_regs): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * hppabsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * i386bsd-nat.c (fetch_inferior_registers) (store_inferior_registers, i386bsd_dr_set, i386bsd_dr_get_status): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m68kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m88kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * mipsnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ns32knbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcnbsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcobsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * shnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * vaxbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3.
2004-08-15 07:37:04 +08:00
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
2005-02-11 Andrew Cagney <cagney@gnu.org> Mark up error_no_arg, query, perror_with_name, complaint, and internal_error. * breakpoint.c, cp-abi.c, cp-namespace.c, cp-support.c: Update. * cris-tdep.c, dbxread.c, dictionary.c, dsrec.c: Update. * dummy-frame.c, dve3900-rom.c, dwarf2-frame.c, dwarf2expr.c: Update. * dwarf2read.c, dwarfread.c, elfread.c, event-loop.c: Update. * exceptions.c, exec.c, f-lang.c, findvar.c, fork-child.c: Update. * frame-unwind.c, frame.c, frv-linux-tdep.c, frv-tdep.c: Update. * gdb_assert.h, gdbarch.c, gdbtypes.c, gnu-nat.c: Update. * go32-nat.c, hppa-tdep.c, hppabsd-nat.c, hpread.c: Update. * i386-linux-nat.c, i386-nat.c, i386-tdep.c, i386bsd-nat.c: Update. * i386fbsd-nat.c, inf-ptrace.c, inf-ttrace.c, infcall.c: Update. * infcmd.c, inflow.c, infptrace.c, infrun.c, inftarg.c: Update. * interps.c, language.c, linespec.c, linux-nat.c: Update. * m32r-linux-nat.c, m68k-tdep.c, m68kbsd-nat.c: Update. * m68klinux-nat.c, m88kbsd-nat.c, macroexp.c, macroscope.c: Update. * macrotab.c, maint.c, mdebugread.c, memattr.c: Update. * mips-linux-tdep.c, mips-tdep.c, mips64obsd-nat.c: Update. * mipsnbsd-nat.c, mn10300-tdep.c, monitor.c, nto-procfs.c: Update. * objc-lang.c, objfiles.c, objfiles.h, ocd.c, osabi.c: Update. * parse.c, ppc-bdm.c, ppc-linux-nat.c, ppc-sysv-tdep.c: Update. * ppcnbsd-nat.c, ppcobsd-nat.c, printcmd.c, procfs.c: Update. * regcache.c, reggroups.c, remote-e7000.c, remote-mips.c: Update. * remote-rdp.c, remote-sds.c, remote-sim.c, remote-st.c: Update. * remote-utils.c, remote.c, rs6000-nat.c, rs6000-tdep.c: Update. * s390-nat.c, s390-tdep.c, sentinel-frame.c, serial.c: Update. * sh-tdep.c, sh3-rom.c, sh64-tdep.c, shnbsd-nat.c: Update. * solib-aix5.c, solib-svr4.c, solib.c, source.c: Update. * sparc-nat.c, stabsread.c, stack.c, symfile.c, symtab.c: Update. * symtab.h, target.c, tracepoint.c, ui-file.c, ui-out.c: Update. * utils.c, valops.c, valprint.c, vax-nat.c, vaxbsd-nat.c: Update. * win32-nat.c, xcoffread.c, xstormy16-tdep.c: Update. * cli/cli-cmds.c, cli/cli-logging.c, cli/cli-script.c: Update. * cli/cli-setshow.c, mi/mi-cmd-break.c, mi/mi-cmds.c: Update. * mi/mi-console.c, mi/mi-getopt.c, mi/mi-out.c: Update. * tui/tui-file.c, tui/tui-interp.c: Update.
2005-02-12 02:13:55 +08:00
perror_with_name (_("Couldn't write registers"));
}
* 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 (regnum == -1 || getfpregs_supplies (regnum))
{
struct fpreg fpregs;
if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
* alphabsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * amd64bsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * armnbsd-nat.c: Update copyright year. (fetch_register, fetch_regs, fetch_fp_register, fetch_fp_regs) (store_register, store_regs, store_fp_register, store_fp_regs): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * hppabsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * i386bsd-nat.c (fetch_inferior_registers) (store_inferior_registers, i386bsd_dr_set, i386bsd_dr_get_status): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m68kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m88kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * mipsnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ns32knbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcnbsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcobsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * shnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * vaxbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3.
2004-08-15 07:37:04 +08:00
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
2005-02-11 Andrew Cagney <cagney@gnu.org> Mark up error_no_arg, query, perror_with_name, complaint, and internal_error. * breakpoint.c, cp-abi.c, cp-namespace.c, cp-support.c: Update. * cris-tdep.c, dbxread.c, dictionary.c, dsrec.c: Update. * dummy-frame.c, dve3900-rom.c, dwarf2-frame.c, dwarf2expr.c: Update. * dwarf2read.c, dwarfread.c, elfread.c, event-loop.c: Update. * exceptions.c, exec.c, f-lang.c, findvar.c, fork-child.c: Update. * frame-unwind.c, frame.c, frv-linux-tdep.c, frv-tdep.c: Update. * gdb_assert.h, gdbarch.c, gdbtypes.c, gnu-nat.c: Update. * go32-nat.c, hppa-tdep.c, hppabsd-nat.c, hpread.c: Update. * i386-linux-nat.c, i386-nat.c, i386-tdep.c, i386bsd-nat.c: Update. * i386fbsd-nat.c, inf-ptrace.c, inf-ttrace.c, infcall.c: Update. * infcmd.c, inflow.c, infptrace.c, infrun.c, inftarg.c: Update. * interps.c, language.c, linespec.c, linux-nat.c: Update. * m32r-linux-nat.c, m68k-tdep.c, m68kbsd-nat.c: Update. * m68klinux-nat.c, m88kbsd-nat.c, macroexp.c, macroscope.c: Update. * macrotab.c, maint.c, mdebugread.c, memattr.c: Update. * mips-linux-tdep.c, mips-tdep.c, mips64obsd-nat.c: Update. * mipsnbsd-nat.c, mn10300-tdep.c, monitor.c, nto-procfs.c: Update. * objc-lang.c, objfiles.c, objfiles.h, ocd.c, osabi.c: Update. * parse.c, ppc-bdm.c, ppc-linux-nat.c, ppc-sysv-tdep.c: Update. * ppcnbsd-nat.c, ppcobsd-nat.c, printcmd.c, procfs.c: Update. * regcache.c, reggroups.c, remote-e7000.c, remote-mips.c: Update. * remote-rdp.c, remote-sds.c, remote-sim.c, remote-st.c: Update. * remote-utils.c, remote.c, rs6000-nat.c, rs6000-tdep.c: Update. * s390-nat.c, s390-tdep.c, sentinel-frame.c, serial.c: Update. * sh-tdep.c, sh3-rom.c, sh64-tdep.c, shnbsd-nat.c: Update. * solib-aix5.c, solib-svr4.c, solib.c, source.c: Update. * sparc-nat.c, stabsread.c, stack.c, symfile.c, symtab.c: Update. * symtab.h, target.c, tracepoint.c, ui-file.c, ui-out.c: Update. * utils.c, valops.c, valprint.c, vax-nat.c, vaxbsd-nat.c: Update. * win32-nat.c, xcoffread.c, xstormy16-tdep.c: Update. * cli/cli-cmds.c, cli/cli-logging.c, cli/cli-script.c: Update. * cli/cli-setshow.c, mi/mi-cmd-break.c, mi/mi-cmds.c: Update. * mi/mi-console.c, mi/mi-getopt.c, mi/mi-out.c: Update. * tui/tui-file.c, tui/tui-interp.c: Update.
2005-02-12 02:13:55 +08:00
perror_with_name (_("Couldn't get FP registers"));
* 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
ppc_collect_fpregset (&ppcnbsd_fpregset, current_regcache,
regnum, &fpregs, sizeof fpregs);
if (ptrace (PT_SETFPREGS, PIDGET (inferior_ptid),
* alphabsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * amd64bsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * armnbsd-nat.c: Update copyright year. (fetch_register, fetch_regs, fetch_fp_register, fetch_fp_regs) (store_register, store_regs, store_fp_register, store_fp_regs): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * hppabsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * i386bsd-nat.c (fetch_inferior_registers) (store_inferior_registers, i386bsd_dr_set, i386bsd_dr_get_status): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m68kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * m88kbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * mipsnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ns32knbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcnbsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * ppcobsd-nat.c (fetch_inferior_registers): (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * shnbsd-nat.c: Update copyright year. (fetch_inferior_registers, store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3. * vaxbsd-nat.c (fetch_inferior_registers) (store_inferior_registers): Replace PTRACE_ARG3_TYPE with PTRACE_TYPE_ARG3.
2004-08-15 07:37:04 +08:00
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
2005-02-11 Andrew Cagney <cagney@gnu.org> Mark up error_no_arg, query, perror_with_name, complaint, and internal_error. * breakpoint.c, cp-abi.c, cp-namespace.c, cp-support.c: Update. * cris-tdep.c, dbxread.c, dictionary.c, dsrec.c: Update. * dummy-frame.c, dve3900-rom.c, dwarf2-frame.c, dwarf2expr.c: Update. * dwarf2read.c, dwarfread.c, elfread.c, event-loop.c: Update. * exceptions.c, exec.c, f-lang.c, findvar.c, fork-child.c: Update. * frame-unwind.c, frame.c, frv-linux-tdep.c, frv-tdep.c: Update. * gdb_assert.h, gdbarch.c, gdbtypes.c, gnu-nat.c: Update. * go32-nat.c, hppa-tdep.c, hppabsd-nat.c, hpread.c: Update. * i386-linux-nat.c, i386-nat.c, i386-tdep.c, i386bsd-nat.c: Update. * i386fbsd-nat.c, inf-ptrace.c, inf-ttrace.c, infcall.c: Update. * infcmd.c, inflow.c, infptrace.c, infrun.c, inftarg.c: Update. * interps.c, language.c, linespec.c, linux-nat.c: Update. * m32r-linux-nat.c, m68k-tdep.c, m68kbsd-nat.c: Update. * m68klinux-nat.c, m88kbsd-nat.c, macroexp.c, macroscope.c: Update. * macrotab.c, maint.c, mdebugread.c, memattr.c: Update. * mips-linux-tdep.c, mips-tdep.c, mips64obsd-nat.c: Update. * mipsnbsd-nat.c, mn10300-tdep.c, monitor.c, nto-procfs.c: Update. * objc-lang.c, objfiles.c, objfiles.h, ocd.c, osabi.c: Update. * parse.c, ppc-bdm.c, ppc-linux-nat.c, ppc-sysv-tdep.c: Update. * ppcnbsd-nat.c, ppcobsd-nat.c, printcmd.c, procfs.c: Update. * regcache.c, reggroups.c, remote-e7000.c, remote-mips.c: Update. * remote-rdp.c, remote-sds.c, remote-sim.c, remote-st.c: Update. * remote-utils.c, remote.c, rs6000-nat.c, rs6000-tdep.c: Update. * s390-nat.c, s390-tdep.c, sentinel-frame.c, serial.c: Update. * sh-tdep.c, sh3-rom.c, sh64-tdep.c, shnbsd-nat.c: Update. * solib-aix5.c, solib-svr4.c, solib.c, source.c: Update. * sparc-nat.c, stabsread.c, stack.c, symfile.c, symtab.c: Update. * symtab.h, target.c, tracepoint.c, ui-file.c, ui-out.c: Update. * utils.c, valops.c, valprint.c, vax-nat.c, vaxbsd-nat.c: Update. * win32-nat.c, xcoffread.c, xstormy16-tdep.c: Update. * cli/cli-cmds.c, cli/cli-logging.c, cli/cli-script.c: Update. * cli/cli-setshow.c, mi/mi-cmd-break.c, mi/mi-cmds.c: Update. * mi/mi-console.c, mi/mi-getopt.c, mi/mi-out.c: Update. * tui/tui-file.c, tui/tui-interp.c: Update.
2005-02-12 02:13:55 +08:00
perror_with_name (_("Couldn't set FP registers"));
}
}
static int
ppcnbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
{
struct switchframe sf;
struct callframe cf;
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
int i;
/* The stack pointer shouldn't be zero. */
if (pcb->pcb_sp == 0)
return 0;
* 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
read_memory (pcb->pcb_sp, (gdb_byte *)&sf, sizeof sf);
regcache_raw_supply (regcache, tdep->ppc_cr_regnum, &sf.cr);
regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 2, &sf.fixreg2);
for (i = 0 ; i < 19 ; i++)
regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 13 + i,
&sf.fixreg[i]);
* 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
read_memory(sf.sp, (gdb_byte *)&cf, sizeof(cf));
regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 30, &cf.r30);
regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 31, &cf.r31);
regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 1, &cf.sp);
* 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
read_memory(cf.sp, (gdb_byte *)&cf, sizeof(cf));
regcache_raw_supply (regcache, tdep->ppc_lr_regnum, &cf.lr);
regcache_raw_supply (regcache, PC_REGNUM, &cf.lr);
return 1;
}
/* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_ppcnbsd_nat (void);
void
_initialize_ppcnbsd_nat (void)
{
struct target_ops *t;
* 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
/* Support debugging kernel virtual memory images. */
bsd_kvm_add_target (ppcnbsd_supply_pcb);
* 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
/* Add in local overrides. */
t = inf_ptrace_target ();
t->to_fetch_registers = ppcnbsd_fetch_inferior_registers;
t->to_store_registers = ppcnbsd_store_inferior_registers;
add_target (t);
}