[meta-freescale] image-prelink (can) cause SIGSEGV on program startup (when run under GDB)

Bjørn Forsman bjorn.forsman at gmail.com
Thu Jan 7 01:49:07 PST 2016


Hi Christian,

On 7 January 2016 at 10:40, Christian Ege <k4230r6 at gmail.com> wrote:
> Hi Bjørn,
> Am 07.01.2016 9:57 vorm. schrieb "Bjørn Forsman" <bjorn.forsman at gmail.com>:
>>
>> Hi all,
>>
>> Just FYI, I spent 2 days debugging why my application would fail to
>> start when run under GDB (gdbserver). It received SIGSEGV _before_
>> entering main. Turns out that by removing "image-prelink" from
>> local.conf fixes it.
>>
> From my experience image-prelink and using the OpenEmbedded SDKs is not
> recommended. Maybe your SDK is older than your current rootfs this can cause
> GDB to struggle.

Thanks for the data point. The thing is, debugging worked fine for a
long time. But when I added another library dependency, things broke.

Unless the build system is completely borked, rootfs and SDK should be
in sync. I explicitly rebuilt and re-flashed exactly to eliminate that
kind of trouble.

> Anyway we had big issues when we tried to analyse stack backtraces with our
> rootfs and marching SDK. Because the libc in the SDK is not prelinked and
> the checksum check in GDB is not passed GDB barked out some warning.

I guess you mean warnings like:

(gdb) set sysroot
~/poky-toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
warning: .dynamic section for
"/home/bfo/poky-toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/libQt5Multimedia.so.5"
is not at the expected address (wrong library or version mismatch?)
warning: .dynamic section for
"/home/bfo/poky-toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/libQt5Widgets.so.5"
is not at the expected address (wrong library or version mismatch?)
warning: .dynamic section for
"/home/bfo/poky-toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/libQt5Gui.so.5"
is not at the expected address (wrong library or version mismatch?)
...

The weird part is that these warnings seem to come no matter what
(prelink or not). (I guess I should triple check that...)

> Maybe there is a magic knob to tune but we did not found it. But the last
> time I checked was in an older Yocto/OpenEmbedded environment.

I'm on early Yocto 2.0 / Jethro. I plan on updating soon, there are
probably many fixes.

Best regards,
Bjørn Forsman


More information about the meta-freescale mailing list