| Summary: | hidden symbol pthread_atfork | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Bharath <kernelraj> |
| Component: | devtools / tool chain | Assignee: | Khem Raj <raj.khem> |
| Status: | RESOLVED FIXED | QA Contact: | Yi Zhao <yi.zhao> |
| Severity: | major | ||
| Priority: | Medium+ | CC: | jose.perez.carranza, kernelraj, mark.hatle, meta.mr.watcher, meta.watcher, raj.khem, richard.purdie, yp.cp.watcher, yp.watcher |
| Version: | 2.0 | ||
| Target Milestone: | 2.2 M1 | ||
| Hardware: | Other | ||
| OS: | arm64 | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Bharath
2016-05-22 19:33:42 UTC
This does not appear to be related to the prelinker, but instead is a general compilation issue.. Moving the product/component. Do you have a standalone reproducer case? Also what version of the Yocto Project are you using? There has not been a 'glibc-2.2' in a very long time. In the last few years the versions have been in the range of 2.18 through 2.23. Yes I could able to reproduce the issue every time. I am using latest AGL mainline source .. repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo reconfirmed one more time we are unsing glibc-2.2 tmp-glibc/work/aarch64-poky-linux/glibc/2.22-r0 Kindly let me know if you need any more info. This is glibc-2.22, not glibc-2.2 Yocto Project 2.0 (jethro) uses glibc-2.22. We still need a reproducer for this. At a minimum this would need to be a system configuration, but preferably something smaller that shows the problem. The log you posted below does not indicate system configuration or even what recipe failed the link. Hi Raj, I have seen some of your commits related to pthread_atfork API. Can you please give some pointers to debug hidden symbol pthread_atfork issue. Thanks for your time. Regards Bharath You would tru removing the as-needed piece of the linker command and see if that helps. The location of the -lpthread in the command line would otherwise be important. Add CFLAGS += "-pthread" to component recipe, should fix it. however, you should be careful if its dlopening stuff just make sure that, dlopen is happening on real .so and not some stub e.g. libpthread.so is a linker script stub in glibc not full library or symlink. Hi Raj,
I have added as you suggested in Weston_%.bbappend file.
CFLAGS += "-idirafter ${STAGING_KERNEL_DIR}/include/"
CFLAGS_append += "-pthread"
But still same error persist.
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc --sysroot=/local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/ -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -g -fvisibility=hidden -Wstrict-prototypes -Wmissing-prototypes -Wsign-compare -I/local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/include/cairo -I/local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/include/glib-2.0 -I/local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/glib-2.0/include -I/local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/include/pixman-1 -I/local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/include/freetype2 -I/local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/include/libpng16 -O2 -pipe -g -feliminate-unused-debug-types -idirafter /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/work-shared/kernel-source/include/ -pthread -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o weston-subsurfaces clients/weston_subsurfaces-subsurfaces.o ./.libs/libtoytoolkit.a /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libxkbcommon.so /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libcairo.so /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libpixman-1.so /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libfontconfig.so /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libexpat.so /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libfreetype.so /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libpng16.so -lz /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libjpeg.so -lEGL -ldl /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libglib-2.0.so -lpthread -lGLESv2 -lwayland-egl /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libwayland-cursor.so /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libwayland-client.so /local/mnt/workspace/bharath/AGL_8996/poky/build/tmp-glibc/sysroots/usr/lib/libffi.so -lrt -lm -pthread
| /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/5.2.0/ld: weston-subsurfaces: hidden symbol `pthread_atfork' in /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/usr/lib/libpthread_nonshared.a(pthread_atfork.oS) is referenced by DSO
| /local/mnt/workspace/bharath/AGL/poky/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/5.2.0/ld: final link failed: Bad value
| collect2: error: ld returned 1 exit status
| make[1]: *** [weston-subsurfaces] Error 1
fixed .. |