This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] MIPS ptrace build fixes
- From: Simon Marchi <simark at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 29 Jul 2015 21:17:30 -0000
- Subject: [binutils-gdb] MIPS ptrace build fixes
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=aa58a496ed9a3ee19233af0bfb7c76ae02b9b2c1
commit aa58a496ed9a3ee19233af0bfb7c76ae02b9b2c1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Jul 29 17:15:46 2015 -0400
MIPS ptrace build fixes
Since Pedro's ptrace cleanups, the MIPS buildbot compilation fails.
Code in MIPS native uses ptrace with 3 arguments, where ptrace requires
4. When looking at the definition of ptrace in
/usr/include/sys/ptrace.h, it shows that it takes a variable number of
arguments. The wrapper macro in nat/gdb_ptrace.h takes a fixed number
of arguments (4). That would explain why it used to work and stopped.
I am pushing this as obvious, tell me if there is any problem.
I built-tested this with a MIPS toolchain (ct-ng), but I don't have any
setup to test it. At least it should put back the buildbot builder in a
better shape.
gdb/ChangeLog:
* mips-linux-nat.c (write_watchpoint_regs): Add NULL as ptrace's 4th
parameter.
(mips_linux_new_thread): Likewise.
* nat/mips-linux-watch.c (mips_linux_read_watch_registers): Likewise.
gdb/gdbserver/ChangeLog:
* linux-mips-low.c (mips_linux_prepare_to_resume): Add NULL as
ptrace's 4th parameter.
Diff:
---
gdb/ChangeLog | 7 +++++++
gdb/gdbserver/ChangeLog | 5 +++++
gdb/gdbserver/linux-mips-low.c | 2 +-
gdb/mips-linux-nat.c | 4 ++--
gdb/nat/mips-linux-watch.c | 2 +-
5 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0c24f0c..8dee2da 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2015-07-29 Simon Marchi <simon.marchi@ericsson.com>
+
+ * mips-linux-nat.c (write_watchpoint_regs): Add NULL as ptrace's 4th
+ parameter.
+ (mips_linux_new_thread): Likewise.
+ * nat/mips-linux-watch.c (mips_linux_read_watch_registers): Likewise.
+
2015-07-29 Patrick Palka <patrick@parcs.ath.cx>
* top.c: Include "tui/tui.h".
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 5b4236a..2e039b5 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,8 @@
+2015-07-29 Simon Marchi <simon.marchi@ericsson.com>
+
+ * linux-mips-low.c (mips_linux_prepare_to_resume): Add NULL as
+ ptrace's 4th parameter.
+
2015-07-27 Yao Qi <yao.qi@linaro.org>
* configure.srv (case aarch64*-*-linux*): Don't set
diff --git a/gdb/gdbserver/linux-mips-low.c b/gdb/gdbserver/linux-mips-low.c
index d3b01d6..770f0df 100644
--- a/gdb/gdbserver/linux-mips-low.c
+++ b/gdb/gdbserver/linux-mips-low.c
@@ -427,7 +427,7 @@ mips_linux_prepare_to_resume (struct lwp_info *lwp)
int tid = ptid_get_lwp (ptid);
if (-1 == ptrace (PTRACE_SET_WATCH_REGS, tid,
- &priv->watch_mirror))
+ &priv->watch_mirror, NULL))
perror_with_name ("Couldn't write watch register");
}
diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
index 961cb6f..6df618d 100644
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -614,7 +614,7 @@ write_watchpoint_regs (void)
ALL_LWPS (lp)
{
tid = ptid_get_lwp (lp->ptid);
- if (ptrace (PTRACE_SET_WATCH_REGS, tid, &watch_mirror) == -1)
+ if (ptrace (PTRACE_SET_WATCH_REGS, tid, &watch_mirror, NULL) == -1)
perror_with_name (_("Couldn't write debug register"));
}
return 0;
@@ -634,7 +634,7 @@ mips_linux_new_thread (struct lwp_info *lp)
return;
tid = ptid_get_lwp (lp->ptid);
- if (ptrace (PTRACE_SET_WATCH_REGS, tid, &watch_mirror) == -1)
+ if (ptrace (PTRACE_SET_WATCH_REGS, tid, &watch_mirror, NULL) == -1)
perror_with_name (_("Couldn't write debug register"));
}
diff --git a/gdb/nat/mips-linux-watch.c b/gdb/nat/mips-linux-watch.c
index 02d83f6..231dbe0 100644
--- a/gdb/nat/mips-linux-watch.c
+++ b/gdb/nat/mips-linux-watch.c
@@ -164,7 +164,7 @@ mips_linux_read_watch_registers (long lwpid,
{
if (force || *watch_readback_valid == 0)
{
- if (ptrace (PTRACE_GET_WATCH_REGS, lwpid, watch_readback) == -1)
+ if (ptrace (PTRACE_GET_WATCH_REGS, lwpid, watch_readback, NULL) == -1)
{
*watch_readback_valid = -1;
return 0;