From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27967 invoked by alias); 7 Mar 2002 07:48:44 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 27886 invoked from network); 7 Mar 2002 07:48:42 -0000 Received: from unknown (HELO nevyn.them.org) (128.2.145.6) by sources.redhat.com with SMTP; 7 Mar 2002 07:48:42 -0000 Received: from drow by nevyn.them.org with local (Exim 3.34 #1 (Debian)) id 16isdl-0006S9-00; Thu, 07 Mar 2002 02:48:41 -0500 Date: Wed, 06 Mar 2002 23:48:00 -0000 From: Daniel Jacobowitz To: "H . J . Lu" Cc: GDB Subject: Re: Does gdb 5.2 work with statically linked thread application under Linux? Message-ID: <20020307024841.A24509@nevyn.them.org> Mail-Followup-To: "H . J . Lu" , GDB References: <20020306233050.A31848@lucon.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020306233050.A31848@lucon.org> User-Agent: Mutt/1.3.23i X-SW-Source: 2002-03/txt/msg00041.txt.bz2 On Wed, Mar 06, 2002 at 11:30:50PM -0800, H . J . Lu wrote: > Does gdb 5.2 work with statically linked thread application under > Linux? It doesn't work for me at all. It doesn't know any thread. > I have a patch which works for gdb 5.1. Now it doesn't work for 5.2 > anymore. My fault, I think. The problem is that in a dynamically linked binary thread_db_new_objfile will be called for every library is loaded. At this point current_target is "child", so target_has_execution is true. But with a static binary, the first time the function is called objfile is NULL, and the second time current_target is "exec" (which has target_has_execution set false). Perhaps target_has_execution was not the right check after all, if "exec" has it set false (which makes fairly little sense to me...) or perhaps we need to call the hook again later. Michael, any idea? -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer