[poky] Missing debug info

Hatle, Mark mark.hatle at windriver.com
Mon Apr 4 06:07:18 PDT 2011





On Apr 3, 2011, at 3:12 PM, "Gary Thomas" <gary at mlbassoc.com> wrote:

> On 04/03/2011 01:56 PM, Mark Hatle wrote:
>> On 4/3/11 9:53 AM, Gary Thomas wrote:
>>> I'm trying to debug some code which uses the openssl library, built from
>>> the Poky mainline.  For some reason (not obvious to me), there is no debug
>>> info for this library, which makes GDB pretty useless :-(
>>> 
>>> (gdb) info sharedlibrary
>>>  From        To          Syms Read   Shared Object Library
>>> 0x40077790  0x4008f60c  Yes         /tmp/cobra_root/lib/ld-linux.so.3
>>> 0x401abf80  0x401d57d8  Yes (*)     /tmp/cobra_root/usr/lib/libssl.so.0.9.8
>>> 0x40225548  0x402cfbfc  Yes (*)     /tmp/cobra_root/usr/lib/libcrypto.so.0.9.8
>>> 0x400f28f8  0x4010cf90  Yes         /tmp/cobra_root/usr/lib/libpcap.so.1
>>> 0x40326340  0x4040e8d8  Yes         /tmp/cobra_root/lib/libc.so.6
>>> 0x401278fc  0x40128614  Yes         /tmp/cobra_root/lib/libdl.so.2
>>> (*): Shared library is missing debugging information.
>>> 
>>> Any idea why these libraries don't have debg info?  how to get it?
>>> Rebuilding that library with printf() is pretty tedious...
>>> 
>>> Thanks
>>> 
>> 
>> Do the libraries in question have corresponding -dbg package that are empty?  Or
>> is there stuff in there, it's just incomplete?
>> 
>> What I'm trying to understand is were these items stripped during the recipe
>> build, or when they're supposed to be by the package.bbclass into the regular
>> and dbg packages.
> 
> Ah, interesting.  The openssl package does have a -dbg version, but not for
> libopenssl nor libcrypto (which were built by the same source package).  Any
> ideas how/why that happened?  I didn't see any magic in the build arguments,
> but it's a pretty complex package so I might have missed something.
> 

The dbg package is only provided for the corresponding source recipe.  So if libssl, libcrypto both come from the OpenSSL recipe, then installing the openssl-dbg package is the right answer.

> Just to see what I could learn from this, I tried to install openssl-dbg and got this:
> 
>  Downloading file:/home/local/p60_poky/tmp/deploy/ipk/armv7a/openssl-dbg_0.9.8p-r3_armv7a.ipk.
>  openssl-dbg: unsatisfied recommendation for libcrypto-dbg
>  openssl-dbg: unsatisfied recommendation for libssl-dbg

This is a common problem that we'll need to address in a future release, but the dependency can be safely ignored.  There is no libcrypto/libssl dbg specific package.

>  Installing openssl (0.9.8p-r3) to root...
>  Downloading file:/home/local/p60_poky/tmp/deploy/ipk/armv7a/openssl_0.9.8p-r3_armv7a.ipk.
>  Configuring openssl.
>  Configuring openssl-dbg.

If the openssl-dbg is installed then the corresponding files in the /usr/lib/.debug and /usr/src/debug should now exist and allow debugging on the target.

When you start up gdb, you should see a message that it is loading the debug symbols.

> -- 
> ------------------------------------------------------------
> Gary Thomas                 |  Consulting for the
> MLB Associates              |    Embedded world
> ------------------------------------------------------------



More information about the poky mailing list