From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30477 invoked by alias); 5 Feb 2004 00:21:47 -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 30470 invoked from network); 5 Feb 2004 00:21:46 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 5 Feb 2004 00:21:46 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1AoXH2-0007ll-4G; Wed, 04 Feb 2004 19:21:40 -0500 Date: Thu, 05 Feb 2004 00:21:00 -0000 From: Daniel Jacobowitz To: David Carlton Cc: gdb , Jeff Johnston Subject: Re: gdb.base/pending.exp failures Message-ID: <20040205002140.GA29659@nevyn.them.org> Mail-Followup-To: David Carlton , gdb , Jeff Johnston References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.1i X-SW-Source: 2004-02/txt/msg00035.txt.bz2 Just a note of probable-cause: Jeff, on which platforms did you test this testcase? I bet it wasn't i386-linux. On Wed, Feb 04, 2004 at 04:01:21PM -0800, David Carlton wrote: > (gdb) break pendfunc1 > > Breakpoint 1 at 0x804839c > > (gdb) FAIL: gdb.base/pending.exp: set pending breakpoint This function is in a shared library that hasn't been loaded yet. However, on i386-linux (and many other platforms), the call will go through a PLT entry, and the entry in the application's symbol table will appear as an SHN_UNDEF symbol with a non-zero address pointing at the PLT entry. GDB will re-resolve the breakpoint after shared libraries have been loaded. This is already-existing functionality. If you don't want to use dlopen in the test, try setting breakpoints on a function not called directly from the executable (i.e. called from within the library). -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer