From 5ee44bfa6bdb8eaf7f30eccb4fbdc989cb9bb7ca Mon Sep 17 00:00:00 2001 From: Gary Benson Date: Thu, 4 Sep 2014 15:07:46 +0100 Subject: [PATCH] Remove code to cope with LWPs wrapped as PIDs Historically the Linux x86 watchpoint code did not cope with multi- threaded processes and LWP IDs were passed to it wrapped as PIDs. Not all entry points were converted when the Linux x86 watchpoint code was made multi-thread-aware, so a handler was left in place to cope with wrapped LWPs. Since then all such entry points have been converted to pass regular LWPs and the handler is now redundant. This commit removes the handler and adds assertions to ensure no wrapped LWPs are passed in future. gdb/ChangeLog: * x86-linux-nat.c (x86_linux_dr_get, x86_linux_dr_set): Remove code to cope with LWPs wrapped as PIDs. Add assertions to ensure no wrapped LWPs are passed. --- gdb/ChangeLog | 6 ++++++ gdb/x86-linux-nat.c | 6 ++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 25fccf3..62316bb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2014-09-04 Gary Benson + + * x86-linux-nat.c (x86_linux_dr_get, x86_linux_dr_set): + Remove code to cope with LWPs wrapped as PIDs. + Add assertions to ensure no wrapped LWPs are passed. + 2014-09-04 Pedro Alves * value.c (value_ranges_copy_adjusted): New function, factored out diff --git a/gdb/x86-linux-nat.c b/gdb/x86-linux-nat.c index 0d070dd..67300d8 100644 --- a/gdb/x86-linux-nat.c +++ b/gdb/x86-linux-nat.c @@ -60,9 +60,8 @@ x86_linux_dr_get (ptid_t ptid, int regnum) int tid; unsigned long value; + gdb_assert (ptid_lwp_p (ptid)); tid = ptid_get_lwp (ptid); - if (tid == 0) - tid = ptid_get_pid (ptid); errno = 0; value = ptrace (PTRACE_PEEKUSER, tid, @@ -80,9 +79,8 @@ x86_linux_dr_set (ptid_t ptid, int regnum, unsigned long value) { int tid; + gdb_assert (ptid_lwp_p (ptid)); tid = ptid_get_lwp (ptid); - if (tid == 0) - tid = ptid_get_pid (ptid); errno = 0; ptrace (PTRACE_POKEUSER, tid, -- 2.7.4