Commit Graph

10 Commits

Author SHA1 Message Date
Khem Raj
5b8fc98b57 libcxx: Create packageconfig for cross unwinder support
cross-unwinding can pass exception across runtimes e.g.
Multi-language applications ( nodejs native modules, python C extensions )

However, cross-unwinding is not default in libcxx for sometime [1]
it requires special handling at runtime by apps who use it
Switch recipe defaults to upstream defaults, which is to turn it off

This means native unwinding ( with in same runtime )
is build by default which is the most common case.

This also fixes libcxx/libunwind build errors
when enabling TC_CXX_RUNTIME = "llvm" on aarch64 particularly

[1] 85624c5de3

(From OE-Core rev: 88e1214e01c48b174aa9516c60e15a0dfb69e10f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-08-11 18:04:25 +01:00
Richard Purdie
903710ab5c clang/meta-ide-support/meta-extsdk-toolchain: Add missing MLPREFIX
'cross' dependencies are hard, the code currently handles adding MLPREFIX
in these cases but may not in future depending upon implementation.

Add the correct value explictly.

(From OE-Core rev: 8393be1792cee0fbe76d75fd20a97dda41134880)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-08-04 18:04:04 +01:00
Ross Burton
329d1b4dbe clang: remove ninja-native DEPENDS
The cmake class depends on ninja-native already.

(From OE-Core rev: 8ed6ce66de1b54b8129a9895d8cfaf2bb3c3bbb2)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-08-04 18:04:04 +01:00
Ross Burton
455e89f658 clang: remove redundant python3native inherits
None of these recipes need a native build of Python as they don't depend
on native Python modules, nor build Python modules against the target.

(From OE-Core rev: e0da53fca5ec30d883216bfb0be7d96ad597aa69)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-08-04 18:04:04 +01:00
Khem Raj
94ec6a38c9 libcxx,compiler-rt: Remove use of non-existing runtime-llvm override
Provide libunwind based on TC_CXX_RUNTIME
When TC_CXX_RUNTIME is set to be 'llvm' distro wants
to use llvm provided runtime elements therefore provide
libunwind when TC_CXX_RUNTIME = "llvm"

(From OE-Core rev: 61cf402d5bf95094a02d4ea3b1a60cecc04aa0f4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-07-31 10:48:35 +01:00
Khem Raj
582664d64d compiler-rt,libcxx: Use clang for native-libcxx and gcc for compiler-rt-native
compiler-rt configure calls for c++ compiler which can cause C++ runtime to
not be detected on some Yocto autobuilder workers running ubuntu 24.04
therefore let it use gcc for native version

Set TOOLCHAIN_NATIVE for using clang for libcxx

(From OE-Core rev: d54512c1c0a98516077b77d5414af47d8c2b8c39)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-07-04 14:56:41 +01:00
Richard Purdie
99e842451f compiler-rt/libcxx: Use clang as compiler
(From OE-Core rev: e75b2dee39fc0a35f764caa6b72af2a0b9beb165)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-06-09 17:43:41 +01:00
Khem Raj
1cae6faf9d libcxx: Fix cflags and ldflags for using compiler runtime
-stdlib is needed in both cxxflags and ldflags since c++ compiler
will use these to chose the right c++ headers and libraries during link

-rtlib and -unwindlib are only needed during linking

Use LLVM_HOST_TRIPLE during cross compiling compiler-rt for target
this is used by cmake to compute target and compiler triples

Fix LLVM_RUNTIME_TARGETS to use HOST_ARCH, it does not need cross
compile triple which HOST_SYS is passing here

(From OE-Core rev: d1ae4087c548a78e90687b64764f621b070e3ec5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-05-12 22:01:56 +01:00
Khem Raj
5219464cba libcxx,compiler-rt-sanitizers: Add cflags to build with clang compiler
We are using clang-native to build the native versions of these recipes
but we are missing the needed compiler flags to let it c/c++ runtime
appropriately. This also ensures that meta-clang does not have to worry
about the compiler settings for nativesdk/native pieces separately.

(From OE-Core rev: b3b97ff790f42c5844c9f6aaeab9e23d355febfa)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-05-05 18:02:48 +01:00
Khem Raj
79030cd4c4 clang: Merge llvm/clang family recipes from meta-clang
This can ensure that meta-clang does not carry them and can rely on core layer
while mesa can use them too.

Omit time stamps in openmp from generated files to improve
reproducibility

fix the issue that:
| file /usr/include/llvm/Config/llvm-config.h conflicts between attempted installs of lib32-llvm-dev-20.1.2-r0.core2_32 and llvm-dev-20.1.2-r0.core2_64

(From OE-Core rev: d77e398095228b34851762858a76640e3c2cb0ab)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-05-05 18:02:48 +01:00