projects
/
platform
/
upstream
/
binutils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Automatic date update in version.in
[platform/upstream/binutils.git]
/
gdb
/
shnbsd-nat.c
diff --git
a/gdb/shnbsd-nat.c
b/gdb/shnbsd-nat.c
index
1a52e47
..
4278a55
100644
(file)
--- a/
gdb/shnbsd-nat.c
+++ b/
gdb/shnbsd-nat.c
@@
-1,6
+1,6
@@
/* Native-dependent code for NetBSD/sh.
/* Native-dependent code for NetBSD/sh.
- Copyright (C) 2002
, 2003, 2004, 2006, 2007
Free Software Foundation, Inc.
+ Copyright (C) 2002
-2014
Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
Contributed by Wasabi Systems, Inc.
@@
-27,30
+27,35
@@
#include <machine/reg.h>
#include "sh-tdep.h"
#include <machine/reg.h>
#include "sh-tdep.h"
-#include "shnbsd-tdep.h"
#include "inf-ptrace.h"
#include "regcache.h"
#include "inf-ptrace.h"
#include "regcache.h"
-/* Determine if PT_GETREGS fetches this register. */
-#define GETREGS_SUPPLIES(regno) \
+/* Determine if PT_GETREGS fetches this register.
*/
+#define GETREGS_SUPPLIES(
gdbarch,
regno) \
(((regno) >= R0_REGNUM && (regno) <= (R0_REGNUM + 15)) \
(((regno) >= R0_REGNUM && (regno) <= (R0_REGNUM + 15)) \
-|| (regno) == gdbarch_pc_regnum (
current_
gdbarch) || (regno) == PR_REGNUM \
+|| (regno) == gdbarch_pc_regnum (gdbarch) || (regno) == PR_REGNUM \
|| (regno) == MACH_REGNUM || (regno) == MACL_REGNUM \
|| (regno) == SR_REGNUM)
|| (regno) == MACH_REGNUM || (regno) == MACL_REGNUM \
|| (regno) == SR_REGNUM)
+/* Sizeof `struct reg' in <machine/reg.h>. */
+#define SHNBSD_SIZEOF_GREGS (21 * 4)
+
static void
static void
-shnbsd_fetch_inferior_registers (struct regcache *regcache, int regno)
+shnbsd_fetch_inferior_registers (struct target_ops *ops,
+ struct regcache *regcache, int regno)
{
{
- if (regno == -1 || GETREGS_SUPPLIES (regno))
+ if (regno == -1 || GETREGS_SUPPLIES (
get_regcache_arch (regcache),
regno))
{
struct reg inferior_registers;
{
struct reg inferior_registers;
- if (ptrace (PT_GETREGS,
PIDGET
(inferior_ptid),
+ if (ptrace (PT_GETREGS,
ptid_get_pid
(inferior_ptid),
(PTRACE_TYPE_ARG3) &inferior_registers, 0) == -1)
perror_with_name (_("Couldn't get registers"));
(PTRACE_TYPE_ARG3) &inferior_registers, 0) == -1)
perror_with_name (_("Couldn't get registers"));
- shnbsd_supply_reg (regcache, (char *) &inferior_registers, regno);
+ sh_corefile_supply_regset (&sh_corefile_gregset, regcache, regno,
+ (char *) &inferior_registers,
+ SHNBSD_SIZEOF_GREGS);
if (regno != -1)
return;
if (regno != -1)
return;
@@
-58,19
+63,22
@@
shnbsd_fetch_inferior_registers (struct regcache *regcache, int regno)
}
static void
}
static void
-shnbsd_store_inferior_registers (struct regcache *regcache, int regno)
+shnbsd_store_inferior_registers (struct target_ops *ops,
+ struct regcache *regcache, int regno)
{
{
- if (regno == -1 || GETREGS_SUPPLIES (regno))
+ if (regno == -1 || GETREGS_SUPPLIES (
get_regcache_arch (regcache),
regno))
{
struct reg inferior_registers;
{
struct reg inferior_registers;
- if (ptrace (PT_GETREGS,
PIDGET
(inferior_ptid),
+ if (ptrace (PT_GETREGS,
ptid_get_pid
(inferior_ptid),
(PTRACE_TYPE_ARG3) &inferior_registers, 0) == -1)
perror_with_name (_("Couldn't get registers"));
(PTRACE_TYPE_ARG3) &inferior_registers, 0) == -1)
perror_with_name (_("Couldn't get registers"));
- shnbsd_fill_reg (regcache, (char *) &inferior_registers, regno);
+ sh_corefile_collect_regset (&sh_corefile_gregset, regcache, regno,
+ (char *) &inferior_registers,
+ SHNBSD_SIZEOF_GREGS);
- if (ptrace (PT_SETREGS,
PIDGET
(inferior_ptid),
+ if (ptrace (PT_SETREGS,
ptid_get_pid
(inferior_ptid),
(PTRACE_TYPE_ARG3) &inferior_registers, 0) == -1)
perror_with_name (_("Couldn't set registers"));
(PTRACE_TYPE_ARG3) &inferior_registers, 0) == -1)
perror_with_name (_("Couldn't set registers"));