diff options
author | Peter Marko <peter.marko@siemens.com> | 2025-07-07 19:13:19 +0200 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2025-07-10 14:22:52 -0700 |
commit | aef850f7fa53121c74b244b7ae40d31fb9809ccf (patch) | |
tree | 2a1fc6bc20f4830a757cba38ff33084ffe2f1ba4 /recipes-connectivity/openssl | |
parent | eea5ec23155cfd47781599fdc9a92c21e4caffc8 (diff) | |
download | meta-clang-scarthgap.tar.gz |
compiler-rt-sanitizers: disable builtins libraryscarthgap
Currently compiler-rt-sanitizers fails to build as native recipe.
Configuration log shows:
-- Compiler-RT supported architectures: x86_64
-- Failed to find compiler-rt builtins library for x86_64-linux
The reasons is that calling
clang --rtlib=compiler-rt -print-libgcc-file-name
returns (tested in devtool and via additional cmake logs)
/usr/lib/clang/18.1.6/lib/linux/libclang_rt.builtins-x86_64.a
which is missing the recipe-sysroot-native prefix.
COMPILER_RT_USE_BUILTINS_LIBRARY=OFF is implemented in kirkstone and
also in master (in core). Note that when moving clang from meta-clang
to core, I didn't find explanation why this was changed back, but I
assume that it was because of issues like this.
When running
clang --rtlib=compiler-rt -print-libgcc-file-name
on master, it correctly returns the sysroot prefix.
However re-enabling builtins still results in a failure because on my
system it also detects i386 multilib which then fails.
Alternative which works (at least in Debian 11) is following:
EXTRA_OECMAKE:append:class-native = "\
-DCOMPILER_RT_LIBRARY_builtins_${BUILD_SYS}=${STAGING_LIBDIR_NATIVE}/clang/${PV}/lib/linux/libclang_rt.builtins-${BUILD_ARCH}.a \
-DCOMPILER_RT_LIBRARY_builtins_=${STAGING_LIBDIR_NATIVE}/clang/${PV}/lib/linux/libclang_rt.builtins-${BUILD_ARCH}.a \
"
However seeing failures on master, it's uncertain if it fixes all corner
cases.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Diffstat (limited to 'recipes-connectivity/openssl')
0 files changed, 0 insertions, 0 deletions