I try to generate a SDK that targets the quite old armv5e architecture (require conf/machine/include/tune-arm926ejs.inc). libcxx fails for this arch, while it is fine for all other archs I need (armv7, powerpc, x86) with the following error at link:
/home/chvalon/wcom-build-dir/tmp-glibc/work/armv5e-oe-linux-gnueabi/libcxx/9.0.1-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-ld: projects/libcxx/src/CMakeFiles/cxx_shared.dir/locale.cpp.o: in function `std::1::cloc()':
/home/chvalon/wcom-build-dir/tmp-glibc/work-shared/llvm-project-source-9.0.1-r0/git/libcxx/src/locale.cpp:72: undefined reference to `__sync_val_compare_and_swap_1'
/home/chvalon/wcom-build-dir/tmp-glibc/work/armv5e-oe-linux-gnueabi/libcxx/9.0.1-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-ld: /home/chvalon/wcom-build-dir/tmp-glibc/work-shared/llvm-project-source-9.0.1-r0/git/libcxx/src/locale.cpp:72: undefined reference to `__sync_val_compare_and_swap_1'
/home/chvalon/wcom-build-dir/tmp-glibc/work/armv5e-oe-linux-gnueabi/libcxx/9.0.1-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-ld: /home/chvalon/wcom-build-dir/tmp-glibc/work-shared/llvm-project-source-9.0.1-r0/git/libcxx/src/locale.cpp:72: undefined reference to `__sync_val_compare_and_swap_1'
/home/chvalon/wcom-build-dir/tmp-glibc/work/armv5e-oe-linux-gnueabi/libcxx/9.0.1-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-ld: /home/chvalon/wcom-build-dir/tmp-glibc/work-shared/llvm-project-source-9.0.1-r0/git/libcxx/src/locale.cpp:72: undefined reference to `__sync_val_compare_and_swap_1'
/home/chvalon/wcom-build-dir/tmp-glibc/work/armv5e-oe-linux-gnueabi/libcxx/9.0.1-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-ld: /home/chvalon/wcom-build-dir/tmp-glibc/work-shared/llvm-project-source-9.0.1-r0/git/libcxx/src/locale.cpp:72: undefined reference to `__sync_val_compare_and_swap_1'
/home/chvalon/wcom-build-dir/tmp-glibc/work/armv5e-oe-linux-gnueabi/libcxx/9.0.1-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-ld: projects/libcxx/src/CMakeFiles/cxx_shared.dir/locale.cpp.o:/home/chvalon/wcom-build-dir/tmp-glibc/work-shared/llvm-project-source-9.0.1-r0/git/libcxx/src/locale.cpp:491: more undefined references to `__sync_val_compare_and_swap_1' follow
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
WARNING: exit code 1 from a shell command.
ERROR: Task (/home/chvalon/yocto-tree/poky/meta-clang/recipes-devtools/clang/libcxx_git.bb:do_compile) failed with exit code '1'
`
It's very easy to reproduce: MACHINE=qemuarmv5 bitbake libcxx
I have noticed that libcxx sets PACKAGECONFIG[no-atomics] for armv5, I have the impression that this is a problem in the same area.
I'm currently working with zeus, so it's version 9, with master it works.
I try to generate a SDK that targets the quite old armv5e architecture (
require conf/machine/include/tune-arm926ejs.inc
). libcxx fails for this arch, while it is fine for all other archs I need (armv7, powerpc, x86) with the following error at link:ERROR: Task (/home/chvalon/yocto-tree/poky/meta-clang/recipes-devtools/clang/libcxx_git.bb:do_compile) failed with exit code '1'
`
It's very easy to reproduce:
MACHINE=qemuarmv5 bitbake libcxx
I have noticed that libcxx sets
PACKAGECONFIG[no-atomics]
for armv5, I have the impression that this is a problem in the same area.I'm currently working with zeus, so it's version 9, with master it works.