aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/linux-low.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/gdbserver/linux-low.c')
-rw-r--r--gdb/gdbserver/linux-low.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index b1e3d13..4e40d07 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -36,15 +36,18 @@
#include <unistd.h>
#define PTRACE_ARG3_TYPE long
-#define PTRACE_XFER_TYPE int
+#define PTRACE_XFER_TYPE long
#ifdef HAVE_LINUX_REGSETS
static int use_regsets_p = 1;
#endif
extern int errno;
+
+#ifdef HAVE_LINUX_USRREGS
extern int num_regs;
extern int regmap[];
+#endif
/* Start an inferior process and returns its pid.
ALLARGS is a vector of program-name and args. */
@@ -154,6 +157,9 @@ myresume (int step, int signal)
perror_with_name ("ptrace");
}
+
+#ifdef HAVE_LINUX_USRREGS
+
#define REGISTER_RAW_SIZE(regno) register_size((regno))
int
@@ -171,10 +177,6 @@ register_addr (int regnum)
return addr;
}
-
-
-#ifdef HAVE_LINUX_USRREGS
-
/* Fetch one register. */
static void
fetch_register (int regno)
@@ -242,7 +244,7 @@ usr_store_inferior_registers (int regno)
if (regaddr == -1)
return;
errno = 0;
- for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (int))
+ for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (PTRACE_XFER_TYPE))
{
errno = 0;
ptrace (PTRACE_POKEUSER, inferior_pid, (PTRACE_ARG3_TYPE) regaddr,