gdb/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Mon, 5 Mar 2012 21:07:46 +0000 (21:07 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Mon, 5 Mar 2012 21:07:46 +0000 (21:07 +0000)
Code cleanup.
* common/linux-osdata.c (linux_common_core_of_thread): New function
comment.
* linux-nat.c (linux_nat_wait_1): Replace linux_nat_core_of_thread_1
call by linux_common_core_of_thread.
(linux_nat_core_of_thread_1): Remove.
* linux-nat.h (linux_nat_core_of_thread_1): Remove declaration.
* linux-thread-db.c: Include linux-osdata.h.
(update_thread_core): Replace linux_nat_core_of_thread_1 call by
linux_common_core_of_thread.

gdb/ChangeLog
gdb/common/linux-osdata.c
gdb/linux-nat.c
gdb/linux-nat.h
gdb/linux-thread-db.c

index 65ba222512d4b3eb91223ca685a897eb3e0df5c4..fe9f692806c5eb047bc60f9cc985da05693e0dce 100644 (file)
@@ -1,3 +1,16 @@
+2012-03-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Code cleanup.
+       * common/linux-osdata.c (linux_common_core_of_thread): New function
+       comment.
+       * linux-nat.c (linux_nat_wait_1): Replace linux_nat_core_of_thread_1
+       call by linux_common_core_of_thread.
+       (linux_nat_core_of_thread_1): Remove.
+       * linux-nat.h (linux_nat_core_of_thread_1): Remove declaration.
+       * linux-thread-db.c: Include linux-osdata.h.
+       (update_thread_core): Replace linux_nat_core_of_thread_1 call by
+       linux_common_core_of_thread.
+
 2012-03-05  Tom Tromey  <tromey@redhat.com>
 
        * value.c (value_primitive_field): Don't fetch contents for
index 4f97a22ea51e24b5b9d152b077aee846df21e1c8..ffb72b35d9596ac5de237d6fbc9c4728bbe49f1d 100644 (file)
@@ -45,6 +45,8 @@
 #include "gdb_assert.h"
 #include "gdb_dirent.h"
 
+/* Compute and return the processor core of a given thread.  */
+
 int
 linux_common_core_of_thread (ptid_t ptid)
 {
index 553dfdbd614dbeec5728a529dd67c15948152929..e3a5e9d973f22903e39c050e6fc4a5a693a3564a 100644 (file)
@@ -4000,7 +4000,7 @@ retry:
       || ourstatus->kind == TARGET_WAITKIND_SIGNALLED)
     lp->core = -1;
   else
-    lp->core = linux_nat_core_of_thread_1 (lp->ptid);
+    lp->core = linux_common_core_of_thread (lp->ptid);
 
   return lp->ptid;
 }
@@ -5189,71 +5189,6 @@ linux_nat_thread_address_space (struct target_ops *t, ptid_t ptid)
   return inf->aspace;
 }
 
-int
-linux_nat_core_of_thread_1 (ptid_t ptid)
-{
-  struct cleanup *back_to;
-  char *filename;
-  FILE *f;
-  char *content = NULL;
-  char *p;
-  char *ts = 0;
-  int content_read = 0;
-  int i;
-  int core;
-
-  filename = xstrprintf ("/proc/%d/task/%ld/stat",
-                        GET_PID (ptid), GET_LWP (ptid));
-  back_to = make_cleanup (xfree, filename);
-
-  f = fopen (filename, "r");
-  if (!f)
-    {
-      do_cleanups (back_to);
-      return -1;
-    }
-
-  make_cleanup_fclose (f);
-
-  for (;;)
-    {
-      int n;
-
-      content = xrealloc (content, content_read + 1024);
-      n = fread (content + content_read, 1, 1024, f);
-      content_read += n;
-      if (n < 1024)
-       {
-         content[content_read] = '\0';
-         break;
-       }
-    }
-
-  make_cleanup (xfree, content);
-
-  p = strchr (content, '(');
-
-  /* Skip ")".  */
-  if (p != NULL)
-    p = strchr (p, ')');
-  if (p != NULL)
-    p++;
-
-  /* If the first field after program name has index 0, then core number is
-     the field with index 36.  There's no constant for that anywhere.  */
-  if (p != NULL)
-    p = strtok_r (p, " ", &ts);
-  for (i = 0; p != NULL && i != 36; ++i)
-    p = strtok_r (NULL, " ", &ts);
-
-  if (p == NULL || sscanf (p, "%d", &core) == 0)
-    core = -1;
-
-  do_cleanups (back_to);
-
-  return core;
-}
-
 /* Return the cached value of the processor core for thread PTID.  */
 
 static int
index 621737035dbec57835345491bbb5d9df0b5f9668..c9878d97c1564e6fa2902e9ebf05138ae31fdce9 100644 (file)
@@ -200,9 +200,6 @@ void linux_nat_switch_fork (ptid_t new_ptid);
 /* Return the saved siginfo associated with PTID.  */
 struct siginfo *linux_nat_get_siginfo (ptid_t ptid);
 
-/* Compute and return the processor core of a given thread.  */
-int linux_nat_core_of_thread_1 (ptid_t ptid);
-
 /* Set alternative SIGTRAP-like events recognizer.  */
 void linux_nat_set_status_is_event (struct target_ops *t,
                                    int (*status_is_event) (int status));
index ea34bf4fd7b40751c6e880927a8978642d647745..4d09c6e3ba2431ceded45ebae0e1d794ed47f717 100644 (file)
@@ -40,6 +40,7 @@
 #include "observer.h"
 #include "linux-nat.h"
 #include "linux-procfs.h"
+#include "linux-osdata.h"
 
 #include <signal.h>
 
@@ -1603,7 +1604,7 @@ thread_db_find_new_threads_1 (ptid_t ptid)
 static int
 update_thread_core (struct lwp_info *info, void *closure)
 {
-  info->core = linux_nat_core_of_thread_1 (info->ptid);
+  info->core = linux_common_core_of_thread (info->ptid);
   return 0;
 }