summaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2021-06-10 19:34:50 -0700
committerKhem Raj <raj.khem@gmail.com>2021-06-14 17:39:06 -0700
commitbc2b5e4b874968745fdcfbcea43e2eb8eafa592e (patch)
treeced5f4ec91ed04249f04f9b37f316e05b61f7d6f /classes
parentbf842214267663966ffa34e170368d55fcebd883 (diff)
downloadmeta-clang-bc2b5e4b874968745fdcfbcea43e2eb8eafa592e.tar.gz
Use libgcc instead of compiler-rt on klibc apps
klibc does not provide libssp functions e.g. __stack_chk_guard and __stack_chk_guard which it expects from libc and compiler-rt code tend to use these functions, so when using compiler-rt it ends up with undefined symbols e.g. /usr/lib/clang/13.0.0/lib/linux/libclang_rt.builtins-armhf.a(divmoddi4.c.o): in function `__divmoddi4': divmoddi4.c:(.text+0x70): undefined reference to `__stack_chk_fail' arm-yoe-linux-gnueabi-ld.bfd: divmoddi4.c:(.text+0x74): undefined reference to `__stack_chk_guard' Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'classes')
-rw-r--r--classes/clang.bbclass2
1 files changed, 2 insertions, 0 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass
index ce5d321..0f9e46c 100644
--- a/classes/clang.bbclass
+++ b/classes/clang.bbclass
@@ -15,10 +15,12 @@ PACKAGE_DEBUG_SPLIT_STYLE_toolchain-clang = "debug-without-src"
15COMPILER_RT ??= "" 15COMPILER_RT ??= ""
16COMPILER_RT_powerpc = "-rtlib=libgcc ${UNWINDLIB}" 16COMPILER_RT_powerpc = "-rtlib=libgcc ${UNWINDLIB}"
17COMPILER_RT_armeb = "-rtlib=libgcc ${UNWINDLIB}" 17COMPILER_RT_armeb = "-rtlib=libgcc ${UNWINDLIB}"
18COMPILER_RT_libc-klibc = "-rtlib=libgcc ${UNWINDLIB}"
18 19
19UNWINDLIB ??= "" 20UNWINDLIB ??= ""
20UNWINDLIB_powerpc = "--unwindlib=libgcc" 21UNWINDLIB_powerpc = "--unwindlib=libgcc"
21UNWINDLIB_armeb = "--unwindlib=libgcc" 22UNWINDLIB_armeb = "--unwindlib=libgcc"
23UNWINDLIB_libc-klibc = "--unwindlib=libgcc"
22 24
23LIBCPLUSPLUS ??= "" 25LIBCPLUSPLUS ??= ""
24 26