Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/gpl3/gdb/dist/gdb Cleanup the confusion with gettin...



details:   https://anonhg.NetBSD.org/src/rev/12ff93ac1d2f
branches:  trunk
changeset: 331897:12ff93ac1d2f
user:      christos <christos%NetBSD.org@localhost>
date:      Sat Aug 30 07:55:44 2014 +0000

description:
Cleanup the confusion with getting the pid of a sparc debugged process.
If the comments were correct, then this should be factored out to the
OS-specific native code, and the general code should remain sane.

diffstat:

 external/gpl3/gdb/dist/gdb/sparc-nat.c |  27 +++------------------------
 1 files changed, 3 insertions(+), 24 deletions(-)

diffs (51 lines):

diff -r c86cc01aecf3 -r 12ff93ac1d2f external/gpl3/gdb/dist/gdb/sparc-nat.c
--- a/external/gpl3/gdb/dist/gdb/sparc-nat.c    Fri Aug 29 20:03:27 2014 +0000
+++ b/external/gpl3/gdb/dist/gdb/sparc-nat.c    Sat Aug 30 07:55:44 2014 +0000
@@ -142,22 +142,7 @@
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
   int pid;
 
-  /* NOTE: cagney/2002-12-03: This code assumes that the currently
-     selected light weight processes' registers can be written
-     directly into the selected thread's register cache.  This works
-     fine when given an 1:1 LWP:thread model (such as found on
-     GNU/Linux) but will, likely, have problems when used on an N:1
-     (userland threads) or N:M (userland multiple LWP) model.  In the
-     case of the latter two, the LWP's registers do not necessarily
-     belong to the selected thread (the LWP could be in the middle of
-     executing the thread switch code).
-
-     These functions should instead be paramaterized with an explicit
-     object (struct regcache, struct thread_info?) into which the LWPs
-     registers can be written.  */
-  pid = ptid_get_lwp (inferior_ptid);
-  if (pid == 0)
-    pid = ptid_get_pid (inferior_ptid);
+  pid = ptid_get_pid (inferior_ptid);
 
   if (regnum == SPARC_G0_REGNUM)
     {
@@ -197,11 +182,7 @@
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
   int pid;
 
-  /* NOTE: cagney/2002-12-02: See comment in fetch_inferior_registers
-     about threaded assumptions.  */
-  pid = ptid_get_lwp (inferior_ptid);
-  if (pid == 0)
-    pid = ptid_get_pid (inferior_ptid);
+  pid = ptid_get_pid (inferior_ptid);
 
   if (regnum == -1 || sparc_gregset_supplies_p (gdbarch, regnum))
     {
@@ -282,9 +263,7 @@
   {
     int pid;
 
-    pid = ptid_get_lwp (inferior_ptid);
-    if (pid == 0)
-      pid = ptid_get_pid (inferior_ptid);
+    pid = ptid_get_pid (inferior_ptid);
 
     /* Sanity check.  The proper type for a cookie is register_t, but
        we can't assume that this type exists on all systems supported



Home | Main Index | Thread Index | Old Index