This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: gdb.base/pending.exp failures
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: David Carlton <carlton at kealia dot com>
- Cc: gdb <gdb at sources dot redhat dot com>, Jeff Johnston <jjohnstn at redhat dot com>
- Date: Wed, 4 Feb 2004 19:21:40 -0500
- Subject: Re: gdb.base/pending.exp failures
- References: <yf2u126iecu.fsf@hawaii.kealia.com>
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