gdbserver not able to initiatilize thread_db on arm

Sunil Somarajan
2007-12-15T02:22:53Z

Hi,

My target is an ARMv6.

I have gdb/gdbserver (6.6) BOTH compiled and linked against uClibc. I
have a multi-threaded app (LinuxThreads) that I am trying to debug
remotely. I have set solib-absolute-prefix to /<host_home>/

The ld-linux.so.2 can be found against /host_home/lib/ on the host and
/lib on the target. Once I load the program I am able to break at
main. I see the shared libraries being loaded from /host_home/lib. The
same libraries present on the target.

"info shared" on the gdb client shows the following libs loaded
correctly from host_home/lib

libdl, libc, libpthread and ld-linux all loaded fine including a
shared library that my app uses. ,libthread_db is missing on the host.

gdbserver on target is linked against libthread_db.so.1 (present at
/lib on target and /host_home/lib on the host). As soon as my app
creates threads I see a gdb:error initializing thread_db : generic
error message on the target. I instrumented thread_db.c on the target
and err=1 => TD_ERR.

I am not sure what is wrong ? Does thread_db need to be loaded
manually on the host for this to work ?

Thanks,
Sunil.