Remove code to cope with LWPs wrapped as PIDs

Message ID 1409840030-4169-1-git-send-email-gbenson@redhat.com
State Committed
Headers

Commit Message

Gary Benson Sept. 4, 2014, 2:13 p.m. UTC
  Hi all,

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, so the handler is now redundant.
This commit removes that handler.

Built and regtested on RHEL 6.5 x86_64.

Ok to commit?

Thanks,
Gary

--
gdb/ChangeLog:

	* x86-linux-nat.c (x86_linux_dr_get, x86_linux_dr_set):
	Remove code to cope with LWPs wrapped as PIDs.
---
 gdb/ChangeLog       |    5 +++++
 gdb/x86-linux-nat.c |    6 ++----
 2 files changed, 7 insertions(+), 4 deletions(-)
  

Comments

Pedro Alves Sept. 4, 2014, 2:20 p.m. UTC | #1
On 09/04/2014 03:13 PM, Gary Benson wrote:

> Ok to commit?

OK.

Thanks,
Pedro Alves
  
Gary Benson Sept. 4, 2014, 2:26 p.m. UTC | #2
Pedro Alves wrote:
> On 09/04/2014 03:13 PM, Gary Benson wrote:
> > Ok to commit?
> 
> OK.

Pushed.

Thanks,
Gary
  

Patch

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,