From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13603 invoked by alias); 13 Dec 2001 20:26:19 -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 13226 invoked from network); 13 Dec 2001 20:25:01 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 13 Dec 2001 20:25:01 -0000 Received: from cygnus.com (reddwarf.cygnus.com [205.180.231.12]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id MAA22856; Thu, 13 Dec 2001 12:24:52 -0800 (PST) Message-ID: <3C190DDC.B32D6A7B@cygnus.com> Date: Thu, 13 Dec 2001 12:26:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.2-2smp i686) X-Accept-Language: en MIME-Version: 1.0 To: Daniel Jacobowitz CC: gdb-patches@sources.redhat.com Subject: Re: [RFA] Don't use thread_db on corefiles References: <20011213114847.A17989@nevyn.them.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2001-12/txt/msg00358.txt.bz2 Daniel Jacobowitz wrote: > > This patch fixes a really frustrating internal error when you open the > coredump of a multithreaded application. Depending on your kernel, either > the core has threads (corefile.c supports this just fine) or it doesn't. > Neither way will opening libthread_db work right. Daniel, what exactly is the problem that you are solving? What do you mean by "work right"? > This patch isn't quite complete, because strange things happen when you > connect to a remote target too. But fixing that requires a little more > fiddling. I don't think that "target_has_execution" is the right thing to be testing here, if what you're really looking for is "is this a corefile?" > > Is this OK? > > -- > Daniel Jacobowitz Carnegie Mellon University > MontaVista Software Debian GNU/Linux Developer > > 2001-12-13 Daniel Jacobowitz > > * thread-db.c (thread_db_new_objfile): Don't use thread_db on > corefiles. > > Index: thread-db.c > =================================================================== > RCS file: /cvs/src/src/gdb/thread-db.c,v > retrieving revision 1.18 > diff -u -r1.18 thread-db.c > --- thread-db.c 2001/10/13 15:04:02 1.18 > +++ thread-db.c 2001/12/13 16:43:08 > @@ -482,7 +482,9 @@ > { > td_err_e err; > > - if (objfile == NULL) > + /* Don't attempt to use thread_db on targets which can not run > + (core files). */ > + if (objfile == NULL || !target_has_execution) > { > /* All symbols have been discarded. If the thread_db target is > active, deactivate it now. */