summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* clang: Upgrade to latest on trunk/13.0Khem Raj2023-09-081-1/+1
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit c6237ecf3e36eea143607a2cd7164c9eba70d466)
* clang: Depend on clang runtime when using RUNTIME = "llvm" for native packagesKhem Raj2023-09-081-0/+1
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 77394fabd1fee7f4ea3a9358dfba7e94e6a98e8d)
* clang: fix do_package error when multilib enabledChangqing Li2023-09-081-2/+2
| | | | | | | | | | After enable multilib, libdir is /usr/lib64, but in llvm's CMakelist.txt, the install path is hardcode as /usr/lib eg: ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource} Signed-off-by: Changqing Li <changqing.li@windriver.com> (cherry picked from commit f42c4297dde21787ee6873f33636617e1d562798)
* gnutls: Disable integrated assembler on aarch64Khem Raj2023-09-081-0/+3
| | | | | | | | integrated assembler crashes latest clang on aarch64, so lets disable it for now Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 9d89acd175067a828313b8b2a215e6f7595f61b5)
* clang: Update to latest on 13.0.0/trunkKhem Raj2023-09-0838-193/+83
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 81119d8315050c422872c918bb576239ba71bf05)
* clang: drop git suffix from version variablesChangqing Li2023-09-082-0/+71
| | | | | | | | | | | | other recipe like intel-graphics-compiler, config failed with below error: [IGC] Could not find the LLVM dylib. Aborting. with a suffix in library name make other recipe cannot found it. Backport a patch from 12.0.0 to fix this. Signed-off-by: Changqing Li <changqing.li@windriver.com> (cherry picked from commit 95c264e9bbb36eb0ea043c2f016ccb1334d5396c)
* libcxx: Fix native buildKhem Raj2023-09-082-15/+20
| | | | | | | | | | | | | Use libgcc with clang-native to compile it Fixes #465 Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 4d066667c3cbba3b88d2f8d6c5640f5f793d10b4) Conflicts: - recipes-devtools/clang/libcxx_git.bb: Commit 93552c79eed5daa44a24bf4b7a063a2ade739e97 had some of the changes already.
* openmp: Fix build on non-x86 targetsKhem Raj2023-09-082-0/+122
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit b9c9325d65fdcc6a1bfdb15b538c7454894ce15f)
* spirv-llvm-translator: Update to latest trunkKhem Raj2023-09-081-1/+1
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 9c84711bbf8ff21e4276fb59d0e858fc3983155e)
* clang: Update to latest on main/13.0 lineKhem Raj2023-09-082-1/+3
| | | | | | | Package new content for scanbuild and libear Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 50e25bfa72a14b2b156964828995873fdc70da60)
* spirv-llvm-translator: Remove a trailing slash from SRC_URIRobert Yang2023-09-081-1/+1
| | | | | | | | | | | The trailing slash caused the mirror name endswith a dot which looks strange: github.com.KhronosGroup.SPIRV-LLVM-Translator. The slash is not needed, so remove it. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Changqing Li <changqing.li@windriver.com> (cherry picked from commit 5455c65e37bd0e881aad8fc318beb6d0a4469703)
* clang: Update to latest master/13.0Khem Raj2023-09-0837-93/+51
| | | | | | | Drop 0024-compiler-rt-Include-stddef.h.patch its accepted upstream Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 2b5f122e57697b972bc1b65ea7dbb015a9303d11)
* clang: Upgrade to latest on main/13.0 branchKhem Raj2023-09-0837-59/+106
| | | | | | | | Fix compiler-rt build on armv6 reported in https://github.com/YoeDistro/yoe-distro/issues/555 Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 23729bb8200838f3e0d7a73510cf41a05256ed3c)
* Use libgcc instead of compiler-rt on klibc appsKhem Raj2023-09-081-0/+2
| | | | | | | | | | | | | | 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> (cherry picked from commit bc2b5e4b874968745fdcfbcea43e2eb8eafa592e)
* aufs-util,libhugetlbfs,libc-bench: Use libgcc unwinder on glibc/armKhem Raj2023-09-081-2/+3
| | | | | | | | | these packages do static linking in parts and when libc is glibc then it has linked in some portions of libgcc since we can not use clang to compile glibc yet. Therefore use libgcc where needed for now Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit bf842214267663966ffa34e170368d55fcebd883)
* nonclangable: Use libgcc for unwinder as well when using for builtinsKhem Raj2023-09-081-9/+11
| | | | | | | | | | | | | | | 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 <raj.khem@gmail.com> (cherry picked from commit 96face19ae51510d5e5923e575496844b5b85e62)
* clang: Do not force libgcc libunwind in rv32 and rv64Khem Raj2023-09-081-2/+0
| | | | | | | | llvm unwind can work on rv32 and rv64 with latest clang so open up that option Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit bfad2060bcf17f26fff1e6dd760732d551794c2b)
* clang: Update to latest on master branchKhem Raj2023-09-0835-63/+61
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 040ec88b95679a953bf63461f73700246ed34eef)
* poke: Do not use -O2 with clangKhem Raj2023-09-081-0/+3
| | | | | | | | | clang13 has a regression which segfaults the compiler while compiling poke, its reported upstream, until it is fixed do not use -O2 compiler switch Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit d01e38f98bb03d9afa72e9dfc10eb936fc6a4c29)
* nonclangable: pass -rtlib only when using clang with gnu runtime hereKhem Raj2023-09-081-9/+9
| | | | | | | | The defaults wirh using RUNTIME = "llvm" is already pointing to compiler-rt there is no need to clutter cmdline Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 785ce0f2df336ea2c7ef40a3e64eb84656f59eeb)
* mongodb: Use llvm runtime when using clangKhem Raj2023-09-081-0/+1
| | | | | | | | | | | Fixes linker errors like src/mongo/platform/overflow_arithmetic.h:63: error: undefined reference to '__mulodi4' src/mongo/platform/overflow_arithmetic.h:63: error: undefined reference to '__mulodi4' src/mongo/platform/overflow_arithmetic.h:63: error: undefined reference to '__mulodi4' src/mongo/platform/overflow_arithmetic.h:63: error: undefined reference to '__mulodi4' Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 0c02a3503f6b240ec34c68bc9c00407bae2b0fa4)
* bcc: Update to master tipKhem Raj2023-09-089-913/+7
| | | | | | | | | | | | | In order to use latest clang, latest bcc sources are needed, this also means that we need to use vendored libbpf as thats the newest one needed and avoids dependencies on kernel bpf headers which maybe old and out of sync examples use error.h header which is not available on musl therefore disable examples when building on musl Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 21182ec55dace9062be427c2ee583fd4027f899b)
* compiler-rt-sanitizers: Fix hwsan builds with llvm libunwindKhem Raj2023-09-082-0/+36
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit e9a764eac78f6099d34dd9ce8faae906b3fa6b4c)
* Package libunwind independentlyKhem Raj2023-09-081-2/+4
| | | | | | | This helps in ensuring it pose as RPROVIDES when llvm runtime is used Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit cee6adcb98ed39a30b6def6c4ab6d3965854178a)
* libunwind: Implement unw_backtraceKhem Raj2023-09-082-0/+56
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit d45403baedd7ae7755a02cfe0205000b760167bd)
* libunwind: Install headers and pkgconfig fileKhem Raj2023-09-083-0/+21
| | | | | | | | This ensures it can replace nongnu libunwind Use it only when selecting RUNTIME = "llvm" Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit c48de926ac54802df7e1e4b7f91caa4fa4ef45b1)
* libc-bench: It works fine with new way of choosing llvm runtimeKhem Raj2023-09-081-3/+0
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 55978074f349330367ffbbf991e3287141f8fe4d)
* clang.bbclass: Limit using clang to target recipes onlyKhem Raj2023-09-081-9/+9
| | | | | | | | since toolchain-clang maybe available for native as well now, it means we have to ensure we do not use it for native recipes _yet_ Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 95b2e77c088aacaae58aa9157fc7b7bde82527c8)
* compiler-rt-native: Fix build with clangKhem Raj2023-09-081-0/+10
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 9c8347351565ba4ea0b31e92cf55b29811372285)
* nss: Pass options to select runtime for native partsKhem Raj2023-09-081-1/+1
| | | | | | | | Since clang maybe configured to use llvm runtime, we need to ensure to use gnu runtime in native builds Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 563e11548bfe95444d447e058001d3d1da5fe8e8)
* layer.conf: Prefer llvm libunwind when RUNTIME = "llvm"Khem Raj2023-09-081-0/+1
| | | | | | | Avoids conflicts with libunwind recipe from OE-Core Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 5be1042c67063354217154e3c35ed83408d916ce)
* clang.bbclass: Adjust for clang default changesKhem Raj2023-09-081-7/+11
| | | | | | | | | | | | | | | | Now that clang can pass right options automatically when RUNTIME = "llvm", adjust the variables e.g. COMPILER_RT/UNWINDLIB/LIBCPLUSPLUS are no more required to be defaulted Disable enforcing gcc runtime for packages using gcc as its no longer needed here but is taken care by RUNTIME variable as an aside it also helps in building native and nativesdk llvm runtimes Compute right dependencies based on selected RUNTIME along with COMPILER_RT/UNWINDLIB/LIBCPLUSPLUS variables Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit dc5e04e5819a5e7384ae48f1740ac82970a80b8f)
* libcxx: Build undwinder when RUNTIME = "llvm"Khem Raj2023-09-081-1/+5
| | | | | | | | ensure that libcxx can be built when RUNTIME = "llvm" as it might need to pass some cmake compiler tests Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit a0a318157ca0555b0d6e20028dcb7e3e3f3c08c6)
* compiler-rt-sanitizers: Use packageconfig to use static libcxxKhem Raj2023-09-081-6/+3
| | | | | | | | | | | | | | 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> (cherry picked from commit f4bb299c409128801e68c30187381fadeb0a451d)
* compiler-rt: Use gcc runtime to bootstrapKhem Raj2023-09-081-3/+7
| | | | | | | | | | | | | | | while compiler-rt may not use any of these libraries, but the cmake environment pokes for working compiler, linker and other tools, this ensures that it can build when RUNTIME = "llvm" and also RUNTIME = "gnu" Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 7f431875e4edc2a11a9881714e4845efeee54f77) Conflicts: - recipes-devtools/clang/compiler-rt_git.bb: Commit 93552c79eed5daa44a24bf4b7a063a2ade739e97 had already backported parts of this commit.
* clang: Default to compiler-rt/libcxx/libunwind when RUNTIME = "llvm"Khem Raj2023-09-081-5/+9
| | | | | | | | | | | | | This ensures that compiler defaults are defaulting to llvm provided c/c++ runtimes which includes c-runtime, c++runtime, unwinder and omp runtime, current approach is to inject commandline options but it does not get passed in all cases and a lot of smaller/big patches are used to make such package recipes behave If RUNTIME = "gnu" then defaults stay to use gcc runtime as it is Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit e4edc914cd17d31c1c55733db942e3d5da3b0b56)
* scan-build.bbclass: Fix typoKhem Raj2023-09-081-1/+1
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit da92b363e8b57c506250cd677436d1a44b163c98)
* libcxx: Build libunwind shared lib when enabledKhem Raj2023-09-081-10/+7
| | | | | | | | Use compile-rt consistently across when building libc++ and libc++abi and libunwind Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 78acb4ae02352d543b0343b2dba411dc521acd0a)
* compiler-rt-sanitizers: Do not package orc support libKhem Raj2023-09-081-0/+2
| | | | | | | Its already shipped with compile-rt recipe Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit c5c59a9a6a80bb54067ed1400f814fcfc3f428aa)
* lldb: Do not build for mips as wellKhem Raj2023-09-081-4/+7
| | | | | | | | lldb-server is not fully ported for mips yet see https://reviews.llvm.org/D102872 Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 1a90a808e913003ccbbd5ab9b1fcb0a0995d620c)
* compiler-rt-sanitizers: Fix build on mipsKhem Raj2023-09-082-0/+30
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 85c1247d641e8f3286151cf77c8a888955a4fbb1)
* compiler-rt-sanitizers: Limit to buildable arch/libc combinationsKhem Raj2023-09-081-0/+6
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 6a442a8a3b6b898c90ae1e25216810cf0022e8ad)
* compiler-rt-sanitizers: Link with static C++ runtime when availableKhem Raj2023-09-082-3/+3
| | | | | | | This fixes build on ARM Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 241e7e50d394795822beb04869fa540026ebf0cd)
* clang: Fix x86 tuple for include search pathsKhem Raj2023-09-082-0/+26
| | | | | | | | | | | | | This ensures that search path for c++ headers is using right directory structure as per Openembedded gcc and sysroot install e.g. ignoring nonexistent directory "/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux-musl/compiler-rt/13.0.0-r0/recipe-sysroot/usr/lib/i686-yoe-linux-musl/11.1.0/../../../include/ c++/11.1.0/i386-linux-gnu" Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 6ecc0989f152811b8e042d0eb0c94db24c023543)
* compiler-rt: Fix sanitizer build on musl/x86_64Khem Raj2023-09-082-0/+69
| | | | | | | backtrace APIs are glibc specific so do not use them Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 0f3c6b54bf61ec9aabcb2e6ef52ee78e795194c5)
* libclc: Pass -cl-no-stdinc to compiler and assemblerKhem Raj2023-09-081-0/+1
| | | | | | | | | | | | | libclc uses clang CLC preprocessor on .ll files, llvm/clang-13 started including clc declarations by default (clang cf3ef15a6ec5e5b45c6c54e8fbe3769255e815ce), thus corrupting any .ll assembly files that are used by libclc. Inclusion of the default declarations can be turned off using a cmdline switch but that remains to be implemented in the libclc build system. manually adding '-cl-no-stdinc' should work as a workaround. Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit d692c0338fe60cdbb3025dcedbb05ca466335650)
* spirv-llvm-translator: Upgrade to 13.0.0/trunkKhem Raj2023-09-083-63/+3
| | | | | | | This is in sync with clang trunk (upcoming 13.0.0) release Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 79dc9a07e919bbcadb137a9d4cb0f857a672d67e)
* openmp: Fix building amdgcn filesKhem Raj2023-09-081-3/+10
| | | | | | | License name should be LICENSE.TXT not LICENSE.txt Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 07357fd3372866445aa9dd07654849b9b3d0c3d1)
* clang: Upgrade to trunk/13.0 future seriesKhem Raj2023-09-0837-716/+206
| | | | | | | | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 76e37fafa29e9b2097eb823537b17d6cc638c1d5) Conflicts: - recipes-devtools/clang/common.inc: caused by 3880a395f870ecd8da73d2de1e2b88a855df2ef0, the patches have been kept. The patch introduced in fdb936e80b30f40cbf7ef9a8e124b58eec95f45c is part of LLVM 13 so it has been removed.
* libunwind: Hide when llvm runtime is usedKhem Raj2023-09-081-0/+3
| | | | | | | We want to use llvm libunwind implementation when RUNTIME = "llvm" Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit a3604860941ffa9c5ef9a254717651fe9f8c586e)