2004-09-08 Andrew Cagney <cagney@gnu.org>
authorAndrew Cagney <cagney@redhat.com>
Wed, 8 Sep 2004 19:44:22 +0000 (19:44 +0000)
committerAndrew Cagney <cagney@redhat.com>
Wed, 8 Sep 2004 19:44:22 +0000 (19:44 +0000)
* thread-db.c (keep_thread_db): Delete.
(thread_db_new_objfile, thread_db_create_inferior)
(thread_db_mourn_inferior): Simplify assuming !keep_thread_db.

gdb/ChangeLog
gdb/thread-db.c

index b24ba70d2f1e938441ac001134623efe3747e157..494347b058ab09f255370144c6bc62c0deef6d55 100644 (file)
@@ -1,3 +1,9 @@
+2004-09-08  Andrew Cagney  <cagney@gnu.org>
+
+       * thread-db.c (keep_thread_db): Delete.
+       (thread_db_new_objfile, thread_db_create_inferior)
+       (thread_db_mourn_inferior): Simplify assuming !keep_thread_db.
+
 2004-09-08  Mark Kettenis  <kettenis@gnu.org>
 
        * i386-tdep.h (FPC_REGNUM, FCTRL_REGNUM, FSTAT_REGNUM, FTAG_REGNUM)
index 12af128f5a05bf81f5d751e924420536ac699fc8..326bf72642d3e308dd1128ea46d180d3c33be9da 100644 (file)
@@ -63,10 +63,6 @@ static void (*target_new_objfile_chain) (struct objfile * objfile);
 /* Non-zero if we're using this module's target vector.  */
 static int using_thread_db;
 
-/* Non-zero if we have to keep this module's target vector active
-   across re-runs.  */
-static int keep_thread_db;
-
 /* Non-zero if we have determined the signals used by the threads
    library.  */
 static int thread_signals;
@@ -673,8 +669,6 @@ thread_db_new_objfile (struct objfile *objfile)
          using_thread_db = 0;
        }
 
-      keep_thread_db = 0;
-
       goto quit;
     }
 
@@ -703,18 +697,6 @@ thread_db_new_objfile (struct objfile *objfile)
       push_target (&thread_db_ops);
       using_thread_db = 1;
 
-      /* If the thread library was detected in the main symbol file
-         itself, we assume that the program was statically linked
-         against the thread library and well have to keep this
-         module's target vector activated until forever...  Well, at
-         least until all symbols have been discarded anyway (see
-         above).  */
-      if (objfile == symfile_objfile)
-       {
-         gdb_assert (proc_handle.pid == 0);
-         keep_thread_db = 1;
-       }
-
       /* We can only poke around if there actually is a child process.
          If there is no child process alive, postpone the steps below
          until one has been created.  */
@@ -1106,12 +1088,8 @@ static void
 thread_db_create_inferior (char *exec_file, char *allargs, char **env,
                           int from_tty)
 {
-  if (!keep_thread_db)
-    {
-      unpush_target (&thread_db_ops);
-      using_thread_db = 0;
-    }
-
+  unpush_target (&thread_db_ops);
+  using_thread_db = 0;
   target_beneath->to_create_inferior (exec_file, allargs, env, from_tty);
 }
 
@@ -1141,17 +1119,9 @@ thread_db_mourn_inferior (void)
 
   target_beneath->to_mourn_inferior ();
 
-  /* Detach thread_db target ops if not dealing with a statically
-     linked threaded program.  This allows a corefile to be debugged
-     after finishing debugging of a threaded program.  At present,
-     debugging a statically-linked threaded program is broken, but
-     the check is added below in the event that it is fixed in the
-     future.  */
-  if (!keep_thread_db)
-    {
-      unpush_target (&thread_db_ops);
-      using_thread_db = 0;
-    }
+  /* Detach thread_db target ops.  */
+  unpush_target (&thread_db_ops);
+  using_thread_db = 0;
 }
 
 static int