[uClibc] gdb: error initializing thread_db library. (mipsel)

Mike C. Ward mward at pioneer-pra.com
Thu Nov 18 02:53:00 UTC 2004


I am trying to (remote) debug a threaded app on mipsel on a uClibc I
got from CVS about two days ago.

When the multi-threaded app starts, I get
"gdb: error initializing thread_db library."

I have identified the error to be "TD_VERSION".
in libpthread/linuxthreads_db/td_ta_new.c.
It seems to look up "__linuxthreads_version" correctly,
at least if I display memory (in gdb) at the address
td_lookup() returns for versaddr, the display
labels that address <__linuxthreads_version>.
But it doesn't read the expected version string there.
If I do nm on the libpthread.so, it gives
000109f4 R __linuxthreads_version
and if I examine the .so file, I find the expected
version string at that offset.
For what it's worth, the loaded address of __linuxthreads_version
is not the base address of libpthread.so + 000109f4.
It isn't supposed to be is it?
In this case /lib/libpthread.so.0 is
0x2aaf20c0 to 0x2aafcae4, and __linuxthreads_version (versaddr) is
0x2aafcb54.

Any ideas?

Thanks,

Mike





More information about the uClibc mailing list