gdb: pass inferior to check_pid_namespace_match
authorSimon Marchi <simon.marchi@efficios.com>
Sun, 25 Oct 2020 02:59:29 +0000 (22:59 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Sun, 25 Oct 2020 13:06:09 +0000 (09:06 -0400)
Pass the inferior argument available in thread_db_inferior_created, and
use it to do most things requiring the inferior.
check_pid_namespace_match is not completely decoupled from the current
inferior yet, there are hidden references behind target_can_run, for
example.  But I think this is still a good step forward.

gdb/ChangeLog:

* linux-thread-db.c (check_pid_namespace_match): Add inferior
parameter and use it.
(thread_db_inferior_created): Pass inferior argument.

Change-Id: Ib768b14fc61dcf115fe13f776691f2c2f36e0679

gdb/ChangeLog
gdb/linux-thread-db.c

index 0f2a87bf7d7a511b212beccbb22ccaae07add23e..af9d5abbe69d1244b4c28ffb274dbc900178842f 100644 (file)
@@ -1,3 +1,9 @@
+2020-10-24  Simon Marchi  <simon.marchi@efficios.com>
+
+       * linux-thread-db.c (check_pid_namespace_match): Add inferior
+       parameter and use it.
+       (thread_db_inferior_created): Pass inferior argument.
+
 2020-10-24  Simon Marchi  <simon.marchi@efficios.com>
 
        * aix-thread.c (aix_thread_inferior_created): Add inferior
index e759ecc951352129d33d710ba8c68b1c1cf46f8b..7cbdfa5080d9461fd38169614ded16eabf7710b9 100644 (file)
@@ -1286,7 +1286,7 @@ thread_db_new_objfile (struct objfile *objfile)
 }
 
 static void
-check_pid_namespace_match (void)
+check_pid_namespace_match (inferior *inf)
 {
   /* Check is only relevant for local targets targets.  */
   if (target_can_run ())
@@ -1296,7 +1296,7 @@ check_pid_namespace_match (void)
         child's thread list, we'll mistakenly think it has no threads
         since the thread PID fields won't match the PID we give to
         libthread_db.  */
-      if (!linux_ns_same (inferior_ptid.pid (), LINUX_NS_PID))
+      if (!linux_ns_same (inf->pid, LINUX_NS_PID))
        {
          warning (_ ("Target and debugger are in different PID "
                      "namespaces; thread lists and other data are "
@@ -1312,7 +1312,7 @@ check_pid_namespace_match (void)
 static void
 thread_db_inferior_created (inferior *inf)
 {
-  check_pid_namespace_match ();
+  check_pid_namespace_match (inf);
   check_for_thread_db ();
 }