This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Remote gdb and shared libraries
- From: Doug Abbott <doug at intellimetrix dot us>
- To: gdb at sourceware dot org
- Date: Mon, 01 May 2006 22:15:39 -0600
- Subject: Remote gdb and shared libraries
Hi,
This should be a fairly simple problem of inadequate documentation.
I've searched the archives and found quite a bit of stuff on shared
libraries, but nothing that exactly matches the problem I'm seeing.
I'm running gdb 6.3 under Red Hat 9 using gdbserver on an ARM9 target
board to debug a simple Hello World program. I've worked through the
stuff about setting solib-absolute-prefix and both the host and target
copies of the libraries seem to be identical.
The first suspicious thing that happens is when gdb connects to the
target, it returns:
0x40001470 in ?? ()
implying to me that it can't find the name of the function at that
particular address. After the program starts and halts at a breakpoint,
the info share command returns:
From To Syms Read Shared Object
Library
0x40035cd0 0x401162cc No
/usr/local/arm/arm-linux/lib/libc.so.6
0x40001470 0x40011598 No
/usr/local/arm/arm-linux/lib/ld-linux.so.2
Hmmm. The most suspicious aspect of this is the Syms Read column that
says "No". Why didn't it read the symbols?
With each next command, gdb says "Cannot access memory at address 0x0".
When I try to step over a call to printf() (with next), it says
"0x000082cc in ?? ()". Executing next again returns "Cannot find bounds
of current function".
At that point things are pretty much hung up. Surely this is a simple
problem. I've used gdbserver before in x86 and Motorola Dragonball
environments without a problem. But in those situations, I didn't have
to build the shared libraries (if there were any?).
And BTW, the hello program runs fine on the target without gdb.
Any help would be greatly appreciated.
Doug