| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of moving the whole install under major.minor.patch, create a symlink
so both can be included
Fixes https://github.com/kraj/meta-clang/issues/978
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ludovic Jozeau <ludovic.jozeau@scle.fr>
(cherry picked from commit a2192126094e2152c49becdf281899626abaebed)
|
|
|
|
|
|
|
|
|
|
|
| |
Native builds of compiler-rt-sanitizers fail because llvm-ranlib,
llvm-ar, and llvm-nm are not found where the recipe specifies that
they'll be. Other recipes (in particular: compiler-rt) only specify the
locations of those tools for target and nativesdk builds, and they build
fine. This commit implements the same thing for compiler-rt-sanitizers,
fixing native builds.
Signed-off-by: Eric Sun <ericsun2@cisco.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When configuring with COMPILER_RT_USE_BUILTINS_LIBRARY=ON, compiler-rt
expects the target builtin libraries to be available. Make sure that
this really is the case by adding them to DEPENDS.
Without the dependency recipe build fails during the configure task
| -- Failed to find compiler-rt builtins library for x86_64-poky-linux
| CMake Error at .../build/tmp/work-shared/llvm-project-source-17.0.6-r0/git/compiler-rt/cmake/Modules/AddCompilerRT.cmake:281 (message):
| Cannot find builtins library for the target architecture
| Call Stack (most recent call first):
| .../build/tmp/work-shared/llvm-project-source-17.0.6-r0/git/compiler-rt/lib/stats/CMakeLists.txt:23 (add_compiler_rt_runtime)
Signed-off-by: Philip Lorenz <philip.lorenz@bmw.de>
|
|
|
|
|
|
|
|
|
|
|
| |
The library is now named liborc which leads to conflicts when installing
compiler-rt and compiler-rt-sanitizers in parallel.
Installing compiler-rt-sanitizers-staticdev (17.0.6) on root
* check_data_file_clashes: Package compiler-rt-sanitizers-staticdev wants to install file .../usr/lib/clang/17.0.6/lib/linux/liborc_rt-x86_64.a
But that file is already provided by package * compiler-rt-staticdev
Signed-off-by: Philip Lorenz <philip.lorenz@bmw.de>
|
|
|
|
|
|
| |
TC_CXX_RUNTIME is now defined in OE-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
It will fails on clang-17+
| CMake Error at /mnt/b/yoe/master/build/tmp/work-shared/llvm-project-source-17.0.0-r0/git/compiler-rt/cmake/Modules/CheckSectionExists.cmake:72 (message):
| error: unknown target triple 'armhf'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
It fails to configure in lit tests during cross compile
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This helps in compling shared libraries which may use e.g. static
libc++.a during link
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Ideally, the LFS64 functions should be replaced in sanitizers sources
but for now just enable the aliases in musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
remove libclang_rt.orc and c_orc.h header since it is being installed by both
compiler-rt and compiler-rt-sanitizer when built for arm.
Signed-off-by: Mamta Shukla <mamta.shukla@leica-geosystems.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
With clang-15, it exposed an error building, where it is trying to link
with libgcc even when llvm unwninder is available in distro. Therefore
use DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON, other options are to match the
recipe with compiler-rt recipe.
Fix missing option -DCOMPILER_RT_ENABLE_STATIC_UNWINDER when building
with static libcxx
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
clang can now build multiarch runtimes like debian's setup, but not all
arches work equally well, e.g. arm32 bit can not handle arm and armhf
case, so lets disable it for now.
Use DCMAKE_BUILD_TYPE=RelWithDebInfo as it is needed to set
DCMAKE_BUILD_TYPE in 15.x
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Mamta Shukla <mamta.shukla@leica-geosystems.com>
|
|
|
|
|
|
|
|
|
|
| |
Setting the ${HF} variable based on ${TUNE_CCARGS_MFLOAT} does only make sense
for target builds, as it defines arguments for target. Without this fix,
building with hf machine configuration will cause problems, as native and
nativesdk triplets will be include "hf", something like "x86_64hf-linux", which
is wrong and not recognized by LLVM build/configuration system.
Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
| |
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sanitizers can link libc++/libc++abi statically or dynamically, we
default to use dynamic version but leave the option to enable static
linking if so needed
Use virtual/crypt to represent crypt implementation which becomes libc
independent
Fix dependencies for native recipes
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Its already shipped with compile-rt recipe
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
This recipe builds all sanitizers runtimes provided by compiler-rt
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|