aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Jung Bauermann <bauerman@br.ibm.com>2012-04-24 15:03:43 +0000
committerThiago Jung Bauermann <bauerman@br.ibm.com>2012-04-24 15:03:43 +0000
commitf15f99484e2dd62e08e1200678c3919c8399adea (patch)
tree2299d2186fa28ffe60bf2698ed48ff907667f298
parent20388dd6b670db6c2fada1c609d7ca4ae04c85a0 (diff)
downloadgdb-f15f99484e2dd62e08e1200678c3919c8399adea.zip
gdb-f15f99484e2dd62e08e1200678c3919c8399adea.tar.gz
gdb-f15f99484e2dd62e08e1200678c3919c8399adea.tar.bz2
* 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.
-rw-r--r--gdb/gdbserver/ChangeLog16
-rw-r--r--gdb/gdbserver/linux-arm-low.c20
-rw-r--r--gdb/gdbserver/linux-low.c16
-rw-r--r--gdb/gdbserver/linux-low.h4
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 *);