From 043b2f77bb3d7f4b4d927ea80ffed9754cc56619 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Tue, 3 Jun 2003 20:00:56 +0000 Subject: [PATCH] 2003-06-03 Jeff Johnston * thread-db.c (thread_db_mourn_inferior): Unpush thread target layer if not dealing with a statically-linked threaded program. --- gdb/ChangeLog | 5 +++++ gdb/thread-db.c | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 42c01f2094..88505df93b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2003-06-03 Jeff Johnston + + * 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 * solib.c (solib_open): Update comment to reflect actual search order. diff --git a/gdb/thread-db.c b/gdb/thread-db.c index 0a6138b3af..a225bde9d5 100644 --- a/gdb/thread-db.c +++ b/gdb/thread-db.c @@ -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