[poky] Missing debug info

Gary Thomas gary at mlbassoc.com
Mon Apr 4 06:36:15 PDT 2011


On 04/04/2011 07:07 AM, Hatle, Mark wrote:
>
>
>
>
> 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.

Thanks for the explanation.  Perhaps this should be filed as a bug [enhancement]?

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



More information about the poky mailing list