diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/gdbserver/ChangeLog | 16 | ||||
-rw-r--r-- | gdb/gdbserver/linux-arm-low.c | 20 | ||||
-rw-r--r-- | gdb/gdbserver/linux-low.c | 16 | ||||
-rw-r--r-- | gdb/gdbserver/linux-low.h | 4 |
4 files changed, 40 insertions, 16 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index d584b29..739b99e 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,19 @@ +2012-04-24 Thiago Jung Bauermann <thiago.bauermann@linaro.org> + + * linux-low.h (PTRACE_ARG3_TYPE): Move macro from linux-low.c. + (PTRACE_ARG4_TYPE): Likewise. + (PTRACE_XFER_TYPE): Likewise. + * linux-arm-low.c (arm_prepare_to_resume): Cast third argument of + ptrace to PTRACE_ARG3_TYPE. + * linux-low.c (PTRACE_ARG3_TYPE): Move macro to linux-low.h. + (PTRACE_ARG4_TYPE): Likewise. + (PTRACE_XFER_TYPE): Likewise. + (linux_detach_one_lwp): Cast fourth argument of + ptrace to long then PTRACE_ARG4_TYPE. + (regsets_fetch_inferior_registers): Cast third argument of + ptrace to long then PTRACE_ARG3_TYPE. + (regsets_store_inferior_registers): Likewise. + 2012-04-20 Pedro Alves <palves@redhat.com> * configure: Regenerate. diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c index bf1792b..c4d2000 100644 --- a/gdb/gdbserver/linux-arm-low.c +++ b/gdb/gdbserver/linux-arm-low.c @@ -709,13 +709,15 @@ arm_prepare_to_resume (struct lwp_info *lwp) errno = 0; if (arm_hwbp_control_is_enabled (proc_info->bpts[i].control)) - if (ptrace (PTRACE_SETHBPREGS, pid, ((i << 1) + 1), - &proc_info->bpts[i].address) < 0) + if (ptrace (PTRACE_SETHBPREGS, pid, + (PTRACE_ARG3_TYPE) ((i << 1) + 1), + &proc_info->bpts[i].address) < 0) perror_with_name ("Unexpected error setting breakpoint address"); if (arm_hwbp_control_is_initialized (proc_info->bpts[i].control)) - if (ptrace (PTRACE_SETHBPREGS, pid, ((i << 1) + 2), - &proc_info->bpts[i].control) < 0) + if (ptrace (PTRACE_SETHBPREGS, pid, + (PTRACE_ARG3_TYPE) ((i << 1) + 2), + &proc_info->bpts[i].control) < 0) perror_with_name ("Unexpected error setting breakpoint"); lwp_info->bpts_changed[i] = 0; @@ -727,13 +729,15 @@ arm_prepare_to_resume (struct lwp_info *lwp) errno = 0; if (arm_hwbp_control_is_enabled (proc_info->wpts[i].control)) - if (ptrace (PTRACE_SETHBPREGS, pid, -((i << 1) + 1), - &proc_info->wpts[i].address) < 0) + if (ptrace (PTRACE_SETHBPREGS, pid, + (PTRACE_ARG3_TYPE) -((i << 1) + 1), + &proc_info->wpts[i].address) < 0) perror_with_name ("Unexpected error setting watchpoint address"); if (arm_hwbp_control_is_initialized (proc_info->wpts[i].control)) - if (ptrace (PTRACE_SETHBPREGS, pid, -((i << 1) + 2), - &proc_info->wpts[i].control) < 0) + if (ptrace (PTRACE_SETHBPREGS, pid, + (PTRACE_ARG3_TYPE) -((i << 1) + 2), + &proc_info->wpts[i].control) < 0) perror_with_name ("Unexpected error setting watchpoint"); lwp_info->wpts_changed[i] = 0; diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 35d7e69..bbb0693 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -241,10 +241,6 @@ struct pending_signals struct pending_signals *prev; }; -#define PTRACE_ARG3_TYPE void * -#define PTRACE_ARG4_TYPE void * -#define PTRACE_XFER_TYPE long - #ifdef HAVE_LINUX_REGSETS static char *disabled_regsets; static int num_regsets; @@ -1157,7 +1153,8 @@ linux_detach_one_lwp (struct inferior_list_entry *entry, void *args) /* Finally, let it resume. */ if (the_low_target.prepare_to_resume != NULL) the_low_target.prepare_to_resume (lwp); - if (ptrace (PTRACE_DETACH, lwpid_of (lwp), 0, sig) < 0) + if (ptrace (PTRACE_DETACH, lwpid_of (lwp), 0, + (PTRACE_ARG4_TYPE) (long) sig) < 0) error (_("Can't detach %s: %s"), target_pid_to_str (ptid_of (lwp)), strerror (errno)); @@ -3997,7 +3994,8 @@ regsets_fetch_inferior_registers (struct regcache *regcache) data = buf; #ifndef __sparc__ - res = ptrace (regset->get_request, pid, nt_type, data); + res = ptrace (regset->get_request, pid, + (PTRACE_ARG3_TYPE) (long) nt_type, data); #else res = ptrace (regset->get_request, pid, data, nt_type); #endif @@ -4070,7 +4068,8 @@ regsets_store_inferior_registers (struct regcache *regcache) data = buf; #ifndef __sparc__ - res = ptrace (regset->get_request, pid, nt_type, data); + res = ptrace (regset->get_request, pid, + (PTRACE_ARG3_TYPE) (long) nt_type, data); #else res = ptrace (regset->get_request, pid, data, nt_type); #endif @@ -4082,7 +4081,8 @@ regsets_store_inferior_registers (struct regcache *regcache) /* Only now do we write the register set. */ #ifndef __sparc__ - res = ptrace (regset->set_request, pid, nt_type, data); + res = ptrace (regset->set_request, pid, + (PTRACE_ARG3_TYPE) (long) nt_type, data); #else res = ptrace (regset->set_request, pid, data, nt_type); #endif diff --git a/gdb/gdbserver/linux-low.h b/gdb/gdbserver/linux-low.h index a1a6777..82b3399 100644 --- a/gdb/gdbserver/linux-low.h +++ b/gdb/gdbserver/linux-low.h @@ -24,6 +24,10 @@ #include "gdb_proc_service.h" +#define PTRACE_ARG3_TYPE void * +#define PTRACE_ARG4_TYPE void * +#define PTRACE_XFER_TYPE long + #ifdef HAVE_LINUX_REGSETS typedef void (*regset_fill_func) (struct regcache *, void *); typedef void (*regset_store_func) (struct regcache *, const void *); |