Hello,

I am new to the Yocto project and need some help in solving a linker issue when compiling/linking an application using the SDK. It seems, that the compilation is completed, but the linker could not resolve to "_rtld_global_ro". Here is the output of the last stage
<snip>
...
/opt/mydistro/1.0.0/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/8.3.0/real-ld: /opt/mydistro/1.0.0/sysroots/cortexa9t2hf-neon-poky-linux-gnueabi/usr/lib/libc.a(getcontext.o): in function `getcontext':
/usr/src/debug/glibc/2.29-r0/git/stdlib/../sysdeps/unix/sysv/linux/arm/getcontext.S:101: undefined reference to `_rtld_global_ro'
/opt/mydistro/1.0.0/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/8.3.0/real-ld: /opt/mydistro/1.0.0/sysroots/cortexa9t2hf-neon-poky-linux-gnueabi/usr/lib/libc.a(setcontext.o): in function `__startcontext':
/usr/src/debug/glibc/2.29-r0/git/stdlib/../sysdeps/unix/sysv/linux/arm/setcontext.S:100: undefined reference to `_rtld_global_ro'
collect2: error: ld returned 1 exit status
makefile:116: recipe for target 'ortable' failed
make: *** [ortable] Error 1
</snip>

What I can see from the output is, that both getcontext.S and setcontext.S are referencing to "_rtld_global_ro". What I do not understand is, why the glibc is located in the debug folder? Is this probably the issue?

I have sourced the SDK using following command:
source /opt/mydistro/1.0.0/environment-setup-cortexa9t2hf-neon-poky-linux-gnueabi

Here's image bb file (which I have used for building the SDK using this command (bitbake my-image -c populate_sdk).

require recipes-extended/images/core-image-full-cmdline.bb
 
IMAGE_INSTALL_append = " \
    emmy-w1-driver-sdiosdio \
    emmy-w1-systemd \
    eth-systemd \
    can-systemd \
    can-utils \
    lighttpd \
    dnsmasq \
    parted \
    swupdate \
    swupdate-www \
    u-boot-fw-utils \
    linux-firmware-imx-sdma-imx6q \
    "
 
TOOLCHAIN_HOST_TASK_append = " nativesdk-perl-modules"
SDKIMAGE_FEATURES_append = " staticdev-pkgs"
 
Any help on resolving this issue would be greatly appreciated.

Thanks.
--

Rob