From 67fc6d839bc130b68ae8f905e62b48a3d7f90471 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Thu, 29 May 2003 06:20:49 +0000 Subject: [PATCH] * linux-low.c (usr_store_inferior_registers): Transfer buf in PTRACE_XFER_TYPE-sized chunks, not int-sized chunks. Otherwise, if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing away part of the register's value. --- gdb/gdbserver/ChangeLog | 7 +++++++ gdb/gdbserver/linux-low.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 9df8a2a4807..7e998d094ed 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,10 @@ +2003-05-29 Jim Blandy + + * linux-low.c (usr_store_inferior_registers): Transfer buf in + PTRACE_XFER_TYPE-sized chunks, not int-sized chunks. Otherwise, + if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing + away part of the register's value. + 2003-04-24 Andrew Cagney * low-nbsd.c (fetch_inferior_registers): diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 95bf9697739..e53f301c7b9 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -976,7 +976,7 @@ usr_store_inferior_registers (int regno) { errno = 0; ptrace (PTRACE_POKEUSER, inferior_pid, (PTRACE_ARG3_TYPE) regaddr, - *(int *) (buf + i)); + *(PTRACE_XFER_TYPE *) (buf + i)); if (errno != 0) { if ((*the_low_target.cannot_store_register) (regno) == 0) -- 2.47.2