2003-06-03 Jeff Johnston <jjohnstn@redhat.com>
authorJeff Johnston <jjohnstn@redhat.com>
Tue, 3 Jun 2003 20:00:56 +0000 (20:00 +0000)
committerJeff Johnston <jjohnstn@redhat.com>
Tue, 3 Jun 2003 20:00:56 +0000 (20:00 +0000)
        * thread-db.c (thread_db_mourn_inferior): Unpush thread target
        layer if not dealing with a statically-linked threaded program.

gdb/ChangeLog
gdb/thread-db.c

index 42c01f2094a9b6490245f634486eb7f2fd08662e..88505df93bf4dbc8f1348e06d2ba16cd21317804 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-03  Jeff Johnston  <jjohnstn@redhat.com>
+
+       * thread-db.c (thread_db_mourn_inferior): Unpush thread target
+       layer if not dealing with a statically-linked threaded program.
+
 2003-06-03  Kris Warkentin  <kewarken@qnx.com>
 
        * solib.c (solib_open): Update comment to reflect actual search order.
index 0a6138b3afa0be6b8e9ee2daf9d500850bfdf40b..a225bde9d5c9aa7457754ae8bcda1a0cc00fb047 100644 (file)
@@ -1011,6 +1011,18 @@ thread_db_mourn_inferior (void)
   proc_handle.pid = 0;
 
   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;
+    }
 }
 
 static int