From 1231a40c5002023c1facca292bfb2be8b6fac4f2 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 9 Jun 2021 19:57:03 -0700 Subject: nonclangable: Use libgcc for unwinder as well when using for builtins clang 13 does not like to mix rtlib and unwindlib when using libgcc Fixes clang-13: error: --rtlib=libgcc requires --unwindlib=libgcc secondly compiler-rt does not havw 128 bit ( tf ) functions on x86 so fallback to libgcc for those use libatomic for x86 since 64bit atomics are not in compiler-rt Signed-off-by: Khem Raj (cherry picked from commit 96face19ae51510d5e5923e575496844b5b85e62) --- conf/nonclangable.conf | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/conf/nonclangable.conf b/conf/nonclangable.conf index e282de8..1058dc6 100644 --- a/conf/nonclangable.conf +++ b/conf/nonclangable.conf @@ -268,23 +268,25 @@ COMPILER_RT_pn-qtbase_toolchain-clang_riscv32 = "-rtlib=compiler-rt ${UNWINDLIB} LDFLAGS_append_pn-gnutls_toolchain-clang_riscv64 = " -latomic" LDFLAGS_append_pn-harfbuzz_toolchain-clang_riscv64 = " -latomic" LDFLAGS_append_pn-qtwebengine_toolchain-clang_runtime-gnu_x86 = " -latomic" -LDFLAGS_append_pn-qemu_toolchain-clang_runtime-gnu_x86 = " -latomic" +LDFLAGS_append_pn-qemu_toolchain-clang_x86 = " -latomic" # glibc is built with gcc and hence encodes some libgcc specific builtins which are not found # when doing static linking with clang using compiler-rt, so use libgcc # undefined reference to `__unordtf2' -COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc" -COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc" -COMPILER_RT_pn-tsocks_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc" -COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_x86-64 = "-rtlib=libgcc" -COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_x86-64 = "-rtlib=libgcc" -COMPILER_RT_pn-tsocks_libc-glibc_toolchain-clang_x86-64 = "-rtlib=libgcc" +COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc --unwindlib=libgcc" +COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc --unwindlib=libgcc" +COMPILER_RT_pn-tsocks_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc --unwindlib=libgcc" +COMPILER_RT_pn-libc-bench_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc --unwindlib=libgcc" +COMPILER_RT_pn-mpich_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc --unwindlib=libgcc" +COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_x86-64 = "-rtlib=libgcc --unwindlib=libgcc" +COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_x86-64 = "-rtlib=libgcc --unwindlib=libgcc" +COMPILER_RT_pn-tsocks_libc-glibc_toolchain-clang_x86-64 = "-rtlib=libgcc --unwindlib=libgcc" #(unwind.o): in function `__pthread_unwind': #/usr/src/debug/glibc/2.29-r0/git/nptl/unwind.c:121: undefined reference to `_Unwind_ForcedUnwind' #clang-8: error: linker command failed with exit code 1 (use -v to see invocation) -COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_arm = "-rtlib=libgcc" -COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_arm = "-rtlib=libgcc" +COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_arm = "-rtlib=libgcc --unwindlib=libgcc" +COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_arm = "-rtlib=libgcc --unwindlib=libgcc" # Uses gcc for native tools, e.g. nsinstall and passes clang options which fails so # let same compiler ( gcc or clang) be native/cross compiler -- cgit v1.2.3-54-g00ecf