Cross-platform, multithreaded debugging (x86 to ARM) with gdb and gdbserver not recognizing threads

Paul Pluzhnikov
Thu Dec 17 18:21:00 GMT 2009

On Thu, Dec 17, 2009 at 10:01 AM, Jason Machacek <> wrote:

>> - Is on target stripped?
> It doesn't appear to be.  I made a copy of and ran
> 'strip' on it, and the file size dropped.  Is this the correct approach?

It's not libthread_db, it's the libpthread that matters.

You want to copy /lib/ (which should be a symlink to
/lib/ from target to host, and then:

  arm-linux-nm | egrep 'version|threads_events'

You should see one of: nptl_version, __linuxthreads_version or

If you see 'no symbols' instead, then your libpthread is stripped, and
that explains your problems.

> and is statically linked into my application.

It is impossible to statically link into an application. Perhaps
you mean that your app is linked with libc.a ?

In general GDB may have harder time debugging statically-linked threaded
executables, and you should always prefer to link against system libraries

Paul Pluzhnikov

More information about the Gdb mailing list