From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16772 invoked by alias); 28 Aug 2006 23:31:33 -0000 Received: (qmail 16763 invoked by uid 22791); 28 Aug 2006 23:31:32 -0000 X-Spam-Check-By: sourceware.org Received: from e5.ny.us.ibm.com (HELO e5.ny.us.ibm.com) (32.97.182.145) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 28 Aug 2006 23:31:30 +0000 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e5.ny.us.ibm.com (8.13.8/8.12.11) with ESMTP id k7SNVTFY011398 for ; Mon, 28 Aug 2006 19:31:29 -0400 Received: from d01av02.pok.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by d01relay04.pok.ibm.com (8.13.6/8.13.6/NCO v8.1.1) with ESMTP id k7SNVRmH291522 for ; Mon, 28 Aug 2006 19:31:28 -0400 Received: from d01av02.pok.ibm.com (loopback [127.0.0.1]) by d01av02.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id k7SNVRC9031588 for ; Mon, 28 Aug 2006 19:31:27 -0400 Received: from dufur.beaverton.ibm.com (dufur.beaverton.ibm.com [9.47.22.20]) by d01av02.pok.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id k7SNVQL1031544; Mon, 28 Aug 2006 19:31:27 -0400 Subject: Re: breaks at thread create and delete fail on PPC64/Linux From: PAUL GILLIAM Reply-To: pgilliam@us.ibm.com To: Daniel Jacobowitz Cc: gdb@sources.redhat.com, sjmunroe@us.ibm.com In-Reply-To: <20060828232206.GA27059@nevyn.them.org> References: <1156806903.5898.29.camel@dufur.beaverton.ibm.com> <20060828232206.GA27059@nevyn.them.org> Content-Type: text/plain Date: Mon, 28 Aug 2006 23:31:00 -0000 Message-Id: <1156807599.5898.33.camel@dufur.beaverton.ibm.com> Mime-Version: 1.0 X-Mailer: Evolution 2.2.2 (2.2.2-5) Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-08/txt/msg00206.txt.bz2 On Mon, 2006-08-28 at 19:22 -0400, Daniel Jacobowitz wrote: > On Mon, Aug 28, 2006 at 04:15:03PM -0700, PAUL GILLIAM wrote: > > 3) 'dereferencing' the function descriptor should give the > > actual address at which to set a breakpoint, but gives instead > > the offset within the "pthread" library where the breakpoint > > should be placed. > > > > The attached patch 'fixes' the problem by looking up the load address of the > > "pthread" library and adding that to the address from the PLT. This seems to > > do the trick, but THIS HAS ONLY BEEN TESTED WITH A 64-BIT GDB AND A 64-BIT > > TARGET. And it's a real HACK!!! > > > > But it does illustrate the problem. > > > > So, should I try to change GDB so that enable_thread_event() gets called after > > the dynamic loader has has a chance to relocate the .opd? > > Here's my question: why isn't that happening already? Don't we get > shared library events after relocation processing? Or do we get one > before and one after? I don't think this is a "normal" shared library event at all: it's a thread thing. I need to do some more research to say for sure. -=# Paul #=-