X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fsparc-nat.c;h=34edba325ae70272e9ba759239186c93c4d83a59;hb=8464be768129e057bc92e27de51317b99717da8f;hp=268f868aa460ad58e3944c133f934a4d3c131da4;hpb=56be38147cbe5a85a4d2d4d9cf402696826a4392;p=binutils-gdb.git diff --git a/gdb/sparc-nat.c b/gdb/sparc-nat.c index 268f868aa46..34edba325ae 100644 --- a/gdb/sparc-nat.c +++ b/gdb/sparc-nat.c @@ -1,12 +1,13 @@ /* Native-dependent code for SPARC. - Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,9 +16,7 @@ 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 - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ #include "defs.h" #include "inferior.h" @@ -90,13 +89,13 @@ void (*sparc_collect_gregset) (const struct sparc_gregset *, const struct regcache *, int, void *); void (*sparc_supply_fpregset) (struct regcache *, int , const void *); void (*sparc_collect_fpregset) (const struct regcache *, int , void *); -int (*sparc_gregset_supplies_p) (int); -int (*sparc_fpregset_supplies_p) (int); +int (*sparc_gregset_supplies_p) (struct gdbarch *, int); +int (*sparc_fpregset_supplies_p) (struct gdbarch *, int); /* Determine whether `gregset_t' contains register REGNUM. */ int -sparc32_gregset_supplies_p (int regnum) +sparc32_gregset_supplies_p (struct gdbarch *gdbarch, int regnum) { /* Integer registers. */ if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_G7_REGNUM) @@ -118,7 +117,7 @@ sparc32_gregset_supplies_p (int regnum) /* Determine whether `fpregset_t' contains register REGNUM. */ int -sparc32_fpregset_supplies_p (int regnum) +sparc32_fpregset_supplies_p (struct gdbarch *gdbarch, int regnum) { /* Floating-point registers. */ if (regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM) @@ -135,8 +134,10 @@ sparc32_fpregset_supplies_p (int regnum) for all registers (including the floating-point registers). */ void -fetch_inferior_registers (struct regcache *regcache, int regnum) +sparc_fetch_inferior_registers (struct target_ops *ops, + struct regcache *regcache, int regnum) { + struct gdbarch *gdbarch = get_regcache_arch (regcache); int pid; /* NOTE: cagney/2002-12-03: This code assumes that the currently @@ -162,7 +163,7 @@ fetch_inferior_registers (struct regcache *regcache, int regnum) return; } - if (regnum == -1 || sparc_gregset_supplies_p (regnum)) + if (regnum == -1 || sparc_gregset_supplies_p (gdbarch, regnum)) { gregset_t regs; @@ -174,7 +175,7 @@ fetch_inferior_registers (struct regcache *regcache, int regnum) return; } - if (regnum == -1 || sparc_fpregset_supplies_p (regnum)) + if (regnum == -1 || sparc_fpregset_supplies_p (gdbarch, regnum)) { fpregset_t fpregs; @@ -186,8 +187,10 @@ fetch_inferior_registers (struct regcache *regcache, int regnum) } void -store_inferior_registers (struct regcache *regcache, int regnum) +sparc_store_inferior_registers (struct target_ops *ops, + struct regcache *regcache, int regnum) { + struct gdbarch *gdbarch = get_regcache_arch (regcache); int pid; /* NOTE: cagney/2002-12-02: See comment in fetch_inferior_registers @@ -196,7 +199,7 @@ store_inferior_registers (struct regcache *regcache, int regnum) if (pid == 0) pid = PIDGET (inferior_ptid); - if (regnum == -1 || sparc_gregset_supplies_p (regnum)) + if (regnum == -1 || sparc_gregset_supplies_p (gdbarch, regnum)) { gregset_t regs; @@ -222,7 +225,7 @@ store_inferior_registers (struct regcache *regcache, int regnum) return; } - if (regnum == -1 || sparc_fpregset_supplies_p (regnum)) + if (regnum == -1 || sparc_fpregset_supplies_p (gdbarch, regnum)) { fpregset_t fpregs, saved_fpregs; @@ -332,8 +335,8 @@ sparc_target (void) struct target_ops *t; t = inf_ptrace_target (); - t->to_fetch_registers = fetch_inferior_registers; - t->to_store_registers = store_inferior_registers; + t->to_fetch_registers = sparc_fetch_inferior_registers; + t->to_store_registers = sparc_store_inferior_registers; inf_ptrace_xfer_partial = t->to_xfer_partial; t->to_xfer_partial = sparc_xfer_partial; return t;