Re: sysroot for use with GDB

Mark Hatle <mark.hatle@...>

On 12/5/12 6:38 AM, Wolfgang Denk wrote:

nobody here who could help out?

In message <20121203124234.6327B200FF8@...> I wrote:

according to the documentation [1] the right way to debug applications
on the target is to load the target library information in GDB using

set solib-absolute-prefix /path/to/tmp/rootfs

i. e. referring it to the libraries in the target root file system
image. Assuming the target root file system uses by defualt stripped
libraries, we need to set up a copy of the rootfs with debug
information included.

But do we really have to? Why cannot we use the libraries present in
the SDK's sysroot directory (i. e. what OECORE_TARGET_SYSROOT points
to) ?
It appears that documentation and code are inconsistent; at least the
eclipse plugin generates a .gdbinit script which contains a

set sysroot /opt/poky/1.3/sysroots/armv7a-vfp-neon-poky-linux-gnueabi

statement, i. e. it uses OECORE_TARGET_SYSROOT as I thought should
work - but it doesn't.

Trying to do so, we see that it fails. Our current suspicion is that
maybe prelinking of the target images and libraries introduces some
incompatibility. Is this a reasonable assumption, and if so, is this
a problem that should be fixed, or unavoidable for some reason? Or is
there a problem with the libraries in OECORE_TARGET_SYSROOT ?
Prelinking should not cause a problem. GDB knows how to translate the debuginfo addresses to the end runtime addresses.

The only thing I've seen in the past that has caused a problem is when the dbg stuff was not installed into the sysroot. GDB will fall back into loading the binaries from the sysroot, which will not contain the debug info causing problems.

It's best if you can set the sysroot to the same filesystem as being executed, but if you can't this is reasonable.

All help welcome - thanks in advance.

OK, guess I should enter a bug in bugzilla, then?

Best regards,

Wolfgang Denk

Join to automatically receive all group messages.