From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14946 invoked by alias); 27 Jan 2003 23:05:31 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 14939 invoked from network); 27 Jan 2003 23:05:30 -0000 Received: from unknown (HELO touchme.toronto.redhat.com) (172.16.49.200) by 172.16.49.205 with SMTP; 27 Jan 2003 23:05:30 -0000 Received: from redhat.com (toocool.toronto.redhat.com [172.16.14.72]) by touchme.toronto.redhat.com (Postfix) with ESMTP id 5932C800342 for ; Mon, 27 Jan 2003 18:05:30 -0500 (EST) Message-ID: <3E35BB3A.2020003@redhat.com> Date: Mon, 27 Jan 2003 23:05:00 -0000 From: "J. Johnston" Organization: Red Hat Inc. User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 X-Accept-Language: en-us, en MIME-Version: 1.0 To: gdb-patches@sources.redhat.com Subject: RFA: Patch for corefile support Content-Type: multipart/mixed; boundary="------------040401040407040404010603" X-SW-Source: 2003-01/txt/msg00746.txt.bz2 This is a multi-part message in MIME format. --------------040401040407040404010603 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 594 The attached patch fixes a problem in gdb when a corefile is read in after a multithreaded application has been debugged. What happens is that the thread-db and lin-lwp layers are still around and run into internal errors. The solution is simply to unpush the thread-db ops in its mourn_inferior routine. If a corefile gets loaded, there is no thread-db to interfere. If another multi-threaded app gets loaded, the thread_db_new_objfile is designed to bring back the thread-db layer as needed. This fix solves another failure in the killed.exp testsuite as well. Ok to commit? -- Jeff J. --------------040401040407040404010603 Content-Type: text/plain; name="thread-db.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="thread-db.patch" Content-length: 555 Index: thread-db.c =================================================================== RCS file: /cvs/src/src/gdb/thread-db.c,v retrieving revision 1.28 diff -u -r1.28 thread-db.c --- thread-db.c 14 Jan 2003 00:49:04 -0000 1.28 +++ thread-db.c 27 Jan 2003 22:58:58 -0000 @@ -1007,6 +1007,11 @@ proc_handle.pid = 0; target_beneath->to_mourn_inferior (); + + /* Detach thread_db target ops. The thread_db_new_objfile routine + will reattach them later if needed. */ + unpush_target (&thread_db_ops); + using_thread_db = 0; } static int --------------040401040407040404010603--