summaryrefslogtreecommitdiffstats
path: root/recipes-devtools
Commit message (Collapse)AuthorAgeFilesLines
* castxml: Do not inherit cmake-nativeKhem Raj7 days2-1/+73
| | | | | | This has been merged into cmake bbclass in core Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: Delete recipeKhem Raj7 days1-35/+0
| | | | | | Moved to core. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Delete recipesKhem Raj7 days52-3792/+0
| | | | | | They are in core layer now Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bindgen-cli: Remove recipeKhem Raj7 days2-207/+0
| | | | | | Its in OE-core now Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Use llvm-config wrapper for nativesdk recipesKhem Raj7 days1-0/+1
| | | | | | helps with nativesdk-mesa compilation since it gets all flags wrong otherwise Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: enable targets being used by libclcDmitry Baryshkov2025-04-111-1/+1
| | | | | | Enable NVPTX and SPIRV, targets being used by libclc. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
* clang: remove LLVM files from sysroot if clang is not providing itDmitry Baryshkov2025-04-112-1/+15
| | | | | | | | | | | | Upcoming Mesa patches for OE-Core pull both LLVM and Clang into the sysroot if meta-clang is being used. Now as libLLVM.so in OE-Core is compatible with the one being built by Clang, remove LLVM artifacts from the native sysroot if clang recipe is not selected as LLVM provider. The spirv-llvm-translator recipe is changed to also DEPEND on llvm in order to pull the library into the chroot. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
* clang: handle libdir in llvm-configDmitry Baryshkov2025-04-111-1/+4
| | | | | | | | The llvm-config wrapper also needs to override a --libdir switch, otherwise software (like mesa) end up using TMPDIR-based directory for Clang resource lookup (and also encoding TMPDIR into the target binary). Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
* clang: Upgrade to 20.1.2 releaseKhem Raj2025-04-072-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 58df0ef89dd6 Define LLVM_ABI and CLANG_ABI for __EMSCRIPTEN__ builds (#131578) * e256eda15377 [LoongArch][MC] Add relocation support for fld fst [x]vld [x]vst * ba00d9f641e9 [LoongArch] Pre-commit test for #133225 * f07f96873aa8 Backport/20.x: [LoongArch] Fix the type of tls-le symbols * e7406753caf3 [PATCH] [clang][modules] Fix serialization and de-serialization of PCH module file refs (#105994) (#132802) * 2f6c5807ca7e [workflows] Add missing -y option to apt-get for abi tests (#133337) * bc65196c0919 update test due to https://github.com/llvm/llvm-project/pull/126880 not being backported * d6d1dbf22181 [ARM] Speedups for CombineBaseUpdate. (#129725) * 5ba194972878 [MC,COFF] .safeseh: avoid changeSection (#132624) * 943b43250b55 release/20.x: [clang][docs] Move -Wnontrivial-memcall to added flags. (#132367) * 44a6f6abbdb6 [libcxx] [test] Fix restoring LLVM_DIR and Clang_DIR (#132838) * c1c4d7191d70 [clang-format] Allow `Language: Cpp` for C files (#133033) * 2406e0d4467a Revert "[MC] Explicitly mark MCSymbol for MO_ExternalSymbol" (#133291) * 3d5f5ef6b784 workflows: Add missing apt-get update to abi tests (#133264) * d1f5a9f66ee2 [hexagon] Bump the default version to v68 (#132304) * 90cc9ca8bcb2 [Hexagon] Set the default compilation target to V68 (#125239) * 3e2801eb634e [PowerPC] Support conversion between f16 and f128 (#130158) * d60baf3d4786 [HEXAGON] Fix semantics of ordered FP compares (#131089) * 1a76c29a9ba8 [hexagon] Enable --eh-frame-hdr (#130225) * ecde8c235e5e [clang] fix matching of nested template template parameters * c86df914dee1 release/20.x: [Clang] Fix various bugs in alias CTAD transform * f7b6f23c6bb7 [llvm-dlltool] Add a missing dependency * a311bc81d957 [llvm-dlltool] Implement the --identify option (#127465) * 6034661369c4 [LoongArch] Pre-commit test for fixing tls-le symbol type * 95763651e25c [HEXAGON] Add support to lower "FREEZE a half(f16)" instruction on Hexagon and fix the isel-buildvector-v2f16.ll assertion (#130977) * e0e8071815c7 [hexagon] Prevent alignment search beyond a label (#130631) * 2198410a8a8a [compiler-rt][Darwin][x86] Fix instrprof-darwin-exports test (#131425) * 0383020b6c1a [llvm] Fix crash when complex deinterleaving operates on an unrolled loop (#129735) * dc7b743515d3 [AArch64] Fix SVE scalar fcopysign lowering without neon. (#129787) * fcd0ad23f668 [AArch64] Add test for scalar copysign. NFC * 66825a89b8e0 [LLD] [COFF] Add a few more mingw libs to skip autoexports for (#132289) * 9710e9963455 [X86][AVX10.2] Include changes for COMX and VGETEXP from rev. 2 (#132824) * 3f957cc67cff Bump version to 20.1.2 (#132293) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: add whitespace around assignmentsMartin Jansa2025-04-023-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | With: https://lists.openembedded.org/g/bitbake-devel/message/17508 there are many WARNINGs from this layer Most of them are caused by this LLVM_LIBDIR_SUFFIX=" which is included everywhere. WARNING: meta-clang/recipes-devtools/clang/clang-cross-canadian_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"' WARNING: meta-clang/recipes-devtools/clang/clang-crosssdk_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"' WARNING: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"' WARNING: meta-clang/recipes-devtools/clang/clang_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"' WARNING: meta-clang/recipes-devtools/clang/compiler-rt-sanitizers_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"' WARNING: meta-clang/recipes-devtools/clang/compiler-rt-sanitizers_git.bb: meta-clang/recipes-devtools/clang/compiler-rt-sanitizers_git.bb:31 has a lack of whitespace around the assignment: 'PACKAGECONFIG[ctx-profile] ="-DCOMPILER_RT_BUILD_CTX_PROFILE=ON,-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF"' WARNING: meta-clang/recipes-devtools/clang/compiler-rt_git.bb: meta-clang/recipes-devtools/clang/compiler-rt_git.bb:47 has a lack of whitespace around the assignment: 'PACKAGECONFIG[profile] ="-DCOMPILER_RT_BUILD_PROFILE=ON,-DCOMPILER_RT_BUILD_PROFILE=OFF"' WARNING: meta-clang/recipes-devtools/clang/compiler-rt_git.bb: meta-clang/recipes-devtools/clang/compiler-rt_git.bb:49 has a lack of whitespace around the assignment: 'PACKAGECONFIG[ctx-profile] ="-DCOMPILER_RT_BUILD_CTX_PROFILE=ON,-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF"' WARNING: meta-clang/recipes-devtools/clang/compiler-rt_git.bb:47 has a lack of whitespace around the assignment: 'PACKAGECONFIG[profile] ="-DCOMPILER_RT_BUILD_PROFILE=ON,-DCOMPILER_RT_BUILD_PROFILE=OFF"' WARNING: meta-clang/recipes-devtools/clang/compiler-rt_git.bb:49 has a lack of whitespace around the assignment: 'PACKAGECONFIG[ctx-profile] ="-DCOMPILER_RT_BUILD_CTX_PROFILE=ON,-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF"' WARNING: meta-clang/recipes-devtools/clang/libclc_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"' WARNING: meta-clang/recipes-devtools/clang/libcxx_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"' WARNING: meta-clang/recipes-devtools/clang/llvm-project-source.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"' WARNING: meta-clang/recipes-devtools/clang/openmp_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"' Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* compiler-rt-sanitizers: remove the LLVM_LIBDIR_SUFFIX conditionalMartin Jansa2025-04-011-8/+2
| | | | | | | | | | | | | | As in previous commit for compiler-rt. Since the upgrade to 20 it's installed in nonarch_libdir even when multilib is used and LLVM_LIBDIR_SUFFIX is set to '32'. Fixes: http://errors.yoctoproject.org/Errors/Details/850269/ mv: cannot stat 'TOPDIR/tmp/work/i586-oemllib32-linux/lib32-compiler-rt-sanitizers/20.1.1/image/usr/lib32/linux': No such file or directory Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* compiler-rt: remove the LLVM_LIBDIR_SUFFIX conditionalMartin Jansa2025-04-011-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | since the upgrade to 20 it's installed in nonarch_libdir even when multilib is used and LLVM_LIBDIR_SUFFIX is set to '32'. I don't know if some people are setting LLVM_LIBDIR_SUFFIX in some more creative way where this won't work, but with the default: LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}" we don't seem to need this conditional, which actually breaks the build now when the 'else' branch is used. fixes: http://errors.yoctoproject.org/Errors/Details/850268/ mv: cannot stat 'lib32-compiler-rt/20.1.1/image/usr/lib32/linux': No such file or directory No change for build without multilib and compared with 19 most notably include/orc/c_api.h is no longer included in {libdir}/clang/<version>: $ find tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/ tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/ tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1 tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib/linux tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib/linux/libclang_rt.builtins-x86_64.a tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib/linux/liborc_rt-x86_64.a tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/include tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/include/orc tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/include/orc/c_api.h $ find tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/ tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/ tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7 tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib/linux tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib/linux/libclang_rt.builtins-x86_64.a tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib/linux/liborc_rt-x86_64.a tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include/orc tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include/orc/c_api.h for lib32-compiler-rt: $ find tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/ tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/ tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7 tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib/linux tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib/linux/libclang_rt.builtins-i386.a tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include/orc tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include/orc/c_api.h $ find tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/ tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/ tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib/linux tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib/linux/libclang_rt.builtins-i386.a tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib/clang tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib/clang/20.1.1 tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib/clang/20.1.1/lib tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/include tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/include/orc tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/include/orc/c_api.h this is where it failed because there is no /usr/lib32/clang $ find tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/ tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/ tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib/clang tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1 tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib/linux tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib/linux/libclang_rt.builtins-i386.a tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/include tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/include/orc tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/include/orc/c_api.h Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* clang: use LLVM_LIBDIR_SUFFIX variableMartin Jansa2025-04-011-1/+1
| | | | | | | * it was added here in 78362787f9e827ecb5dad9c44040f05a545f3ebe, but it's also defined in clang.inc since 98a9122637041b92fc40459bf71ad8d067bc4270 Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* clang: Disable building dexp in clang-nativeYoann Congal2025-03-273-0/+91
| | | | | | | | | | | | | | | | | | Building dexp (native) on Debian 11 causes intermittent failure[0]. This tools in not used in clang except in tests (that we don't run). So, disable building this tool by encapsulating its build in a cmake option and then in a PACKAGECONFIG. Users sure of not using Debian 11 (or the impacted g++ compiler) can turn this config on safely. Only the -native* variants change. Dexp is still enabled by default for target. [0]: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15803 Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
* clang: Upgrade to 20.1.1Khem Raj2025-03-232-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 424c2d9b7e4d [libcxx] Add a missing include for __bit_iterator (#127015) * 2cc53628fbe8 [SCEV] Check whether the start is non-zero in `ScalarEvolution::howFarToZero` (#131522) * 0619bbcbbd86 [BPF] Add default cpu change in ReleaseNotes (#131691) * 2dc152fb40db fix abi (again) * 2044b18af046 fix abi * e3f0ce3ef803 [Clang] Do not emit nodiscard warnings for the base expr of static member access (#131450) * 0ceb4efefeaa [CUDA][HIP] fix virtual dtor host/device attr (#128926) * 1058e693f090 [libc++][test] Skip a `is_virtual_base_of` test for apple-clang-17 (#131438) * 1f9d00524b8c [libc++] Forward-proof some tests for AppleClang 17 * 1515c4ac202d [LAA] Consider accessed addrspace when mapping underlying obj to access. (#129087) * 1cfbb9f33436 Backport/20.x: [Clang] Fix an incorrect assumption on getTemplatedDecl() * 0fcfeacd8b99 [BPF] Fix BitCast Assertion with NonZero AddrSpace * 0b23d98dceaa Reduce memory usage in AST parent map generation by lazily checking if nodes have been seen (#129934) * 073ae08864b4 AMDGPU: Fix broken broken negative test for gfx950 assembler (#129667) (#129686) * cb50aaf8a11b [llvm-objcopy] Apply encryptable offset to first segment, not section (#130517) * 63e63f306128 [Clang] Fix an integer overflow issue in computing CTAD's parameter depth (#128704) * b09b05b8e7c3 [MemCpyOpt] Fix clobber check in fca2memcpy optimization * 64ae6413559e [SystemZ] Move disabling of arg verification to before isFullyInternal(). (#130693) * 548d057ebcfa [VectorCombine] scalarizeLoadExtract - don't create scalar loads if any extract is waiting to be erased (#129375) * 7c154dad4d15 [Clang] Fix GPU intrinsic helpers incorrectly sign extending (#129560) * 946780474f3b [libc++][test] extend XFAIL clauses to cover Amazon Linux too (#129377) * f09bcfbdc90b [LoongArch] Relax the restrictions of inlineasm operand modifier 'u' and 'w' (#129864) * f62b50e0e8f1 [ValueTracking] Skip incoming values that are the same as the phi in `isGuaranteedNotToBeUndefOrPoison` (#130111) * 50343e517992 [HEXAGON] Fix hvx-isel for extract_subvector op (#129672) * 0412f708c380 [TailDuplicator] Do not restrict the computed gotos (#114990) * 72c4a3f419f4 [clang][test] Don't require specific alignment in test case (#130589) * fbb2a7e74d91 [clang] Reject constexpr-unknown values as constant expressions more consistently (#129952) * 9010db1b84ef [Clang] Treat constexpr-unknown value as invalid in `EvaluateAsInitializer` (#128409) * 32ce5b043c2b [AArch64] Fix BE popcount casts. (#129879) * 05be3ca72e39 [AArch64] Add BE test coverage for popcount. NFC * 0e96713a3b29 [ValueTracking] Bail out on x86_fp80 when computing fpclass with knownbits (#130477) * 0fda7e633255 [X86][AVX10.2] Fix unexpected larger scope (#130767) * f7a4e3a4d45d [clang-format] Don't remove parentheses separated from ellipsis by comma (#130471) * 1d4d84c89be6 [AArch64] Don't try to custom lower fp16 selects with nofp (#129492) * 0064565bce3f [DAGCombiner] Don't ignore N2's undef elements in `foldVSelectOfConstants` (#129272) * 54c90e4cdf2f [lldb] Fix manual CURSES_LIBRARIES tinfo finding (#128245) * 712d3c7f0944 [lldb] Add terminfo dependency for ncurses support (#126810) * 6525b151fe77 [Hexagon] Handle Call Operand vxi1 in Hexagon Backend (#128027) * dcc378e862de [libc++] Guard <codecvt> contents on _LIBCPP_HAS_LOCALIZATION (#129112) * 0f5e7e86e38e [SystemZ] Add header guard macros to vecintrin.h (#129170) * 5b552d780ae8 [LV][VPlan] Prevent calculate cost for skiped instructions in precomputeCosts(). (#127966) * 20adce87104c [libc++][ci] Update the Windows toolchains to Clang 19 (#129232) * 0e537474ea59 Bump version to 20.1.1 (#130806) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt-sanitizers: Fix build on riscv/muslKhem Raj2025-03-232-0/+98
| | | | | | | | | | Fixes /compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:627:29: error: use of undeclared identifier 'TlsPreTcbSize' 627 | const uptr pre_tcb_size = TlsPreTcbSize(); | ^ 1 error generated. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang-cross: Create cross binary copies instead of symlinksKhem Raj2025-03-211-1/+5
| | | | | | | | | | | This ensures that search path for subsequent tools e.g. linker assembler are searched in the same dir where <cross>-clang is installed. If its a symlink to ../clang then the reference installation dir is ../ and all cross-tools are not there so clang may fail to find assembler/linker from cross staging area and use /usr/bin/ld or /usr/bin/as which we do not want Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang.bbclass,compiler-rt: Do not set -target for native clangKhem Raj2025-03-213-24/+38
| | | | | | | | | | | | | | | | | | | | | | | | | When building native recipes using clang as native compiler e.g. compiler-rt-native, setting -target can be out of sync with the underlying distro's understanding of gcc tuple e.g. aarch64-linux or aarch64-linux-gnu, which is used by distros to house the gcc runtime e.g. on ubuntu /usr/lib/gcc/aarch64-linux-gnu/11 /usr/lib/gcc/aarch64-linux-gnu/9 if we provide -target its not able to deduce it from the build host which is required for native packages try with recipe-sysroot-native/usr/bin/clang -xc /dev/null -rtlib=libgcc --unwindlib=libgcc -stdlib=libstdc++ -v or recipe-sysroot-native/usr/bin/clang -xc /dev/null -rtlib=libgcc --unwindlib=libgcc -stdlib=libstdc++ -target aarch64-linux -v to see the difference Signed-off-by: Khem Raj <raj.khem@gmail.com>
* include-what-you-use: Upgrade to 0.23+ releaseKhem Raj2025-03-211-2/+6
| | | | | | | | | | Use IWYU_RESOURCE_RELATIVE_TO=iwyu License-Update: Copyright year incremented [1] [1] https://github.com/include-what-you-use/include-what-you-use/commit/414d6f760caba8068b208d31125409a60930df69 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* castxml: Upgrade to 0.6.11Khem Raj2025-03-211-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: Upgrade to clang 20.1 branchKhem Raj2025-03-211-4/+4
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to 20.x releaseKhem Raj2025-03-2137-147/+189
| | | | | | | | | | | Release Notes clang-extra-tools [4] lld [3] clang [2] llvm [1] [1] https://releases.llvm.org/20.1.0/docs/ReleaseNotes.html [2] https://releases.llvm.org/20.1.0/tools/clang/docs/ReleaseNotes.html [3] https://releases.llvm.org/20.1.0/tools/lld/docs/ReleaseNotes.html [4] https://releases.llvm.org/20.1.0/tools/clang/tools/extra/docs/ReleaseNotes.html Signed-off-by: Khem Raj <raj.khem@gmail.com>
* fix: [Issue #1061] - check for existence before trying to process a fileaprospero2025-03-171-2/+6
| | | | | | | | | | | | | | In certain configurations LLVMConfig.cmake does not exist. If that's the case do_install breaks for the nativesdk-clang recipe. Eg. set the following: EXTRA_OECMAKE:append:pn-nativesdk-clang = " -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON" as suggested here: https://llvm.org/docs/BuildingADistribution.html Signed-off-by: aprospero <apro@posteo.de>
* clang: set BPN = "clang" for clang cross,crosssdk,cross-canadian recipesHongxu Jia2025-02-246-0/+12
| | | | | | | | | | | | | | Similar gcc recipes in oe-core [1], set BPN = "clang" in common.inc for clang cross,crosssdk,cross-canadian recipes, but the recipe compiler-rt-sanitizers, compiler-rt, libclc, libcxx, openmp which shares sources with clang are not affected Due to commit [2], the BPN of llvm-project-source is not affected by this commit [1] https://github.com/openembedded/openembedded-core/commit/a2c5509520d5c3e082f55844e6545d0309565f8f [2] https://github.com/kraj/meta-clang/commit/e7517e1910a7d49abb4782fa0778f0b958f7717d Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
* recipes: Update to match OE-Core virtual/cross-* changesRichard Purdie2025-01-217-7/+7
| | | | | | | Update meta-clang to match OE-Core changes to use recipe specific virtual providers (without yet switching to the new switching mechanism). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clang: Upgrade to 19.1.7Khem Raj2025-01-182-2/+2
| | | | | | | | | | | Changes described here https://discourse.llvm.org/t/llvm-19-1-7-released/84062 Brings [1] [1] https://github.com/llvm/llvm-project/compare/llvmorg-19.1.6...llvmorg-19.1.7 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bingen-cli: Upgrade to 0.71.1Goetz2025-01-072-109/+109
| | | | | | | | | | | | | | Related to some issues in my project with compiling aws-lc-rs, issue https://github.com/aws/aws-lc-rs/issues/591, I updated to the current version. Tested on my project https://github.com/MrTarantoga/SpotyPee/commit/f83b2a0c32f28af2c81069ced5b9942bbb98d25a and with the poky standard arm environment. Changelog https://github.com/rust-lang/rust-bindgen/releases/tag/v0.71.1 Signed-off-by: Götz Grimmer <goetz-dev@web.de>
* clang: Upgrade to 19.1.6Khem Raj2024-12-252-2/+2
| | | | | | | | Brings following changes [1] [1] https://github.com/llvm/llvm-project/compare/llvmorg-19.1.5...llvmorg-19.1.6 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to 19.1.5 releaseKhem Raj2024-12-172-2/+2
| | | | | | | Changes https://discourse.llvm.org/t/llvm-19-1-5-released/83455 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: remove PROVIDES:append settingsChen Qi2024-12-021-3/+0
| | | | | | | | | | | | | | | | | | | | With these settings, we'll have multiple providers of llvm. This means that with pristine poky master + meta-clang master, we'll have some output like below: NOTE: Multiple providers are available for llvm-native (llvm-native, clang-native) Consider defining a PREFERRED_PROVIDER entry to match llvm-native And when running 'bitbake world', we'll get error messages like below: ERROR: Multiple .bb files are due to be built which each provide llvm-native: virtual:native:/PATH/TO/poky/meta/recipes-devtools/llvm/llvm_19.1.4.bb virtual:native:/PATH/TO/Yocto/poky/meta-clang/recipes-devtools/clang/clang_git.bb As the README.md has already specified how to use this layer, let's remove such settings before sorting things out. Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
* clang: Upgrade to 19.1.4Khem Raj2024-11-2847-190/+161
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang_git.bb: assign PYTHON_PN to LLDB_PYTHON_EXE_RELATIVE_PATHJan Kircher2024-10-241-2/+2
| | | | Signed-off-by: Jan Kircher <jan.kircher@leica-microsystems.com>
* clang: Upgrade to 19.1.2 releaseKhem Raj2024-10-162-9/+9
| | | | | | | | | Release has changes as mentioned in [1] and [2] [1] https://discourse.llvm.org/t/llvm-19-1-1-released/82321 [2] https://discourse.llvm.org/t/llvm-19-1-2-released/82550 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* llvm-project-source.inc: fix racing on building ↵Hongxu Jia2024-10-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lib32-llvm-project-source-19.1.0 and llvm-project-source-19.1.0 While enabling multilib, build lib32-llvm-project-source-19.1.0 and llvm-project-source-19.1.0 at the same time: $ MACHINE = "qemux86-64" $ require conf/multilib.conf $ MULTILIBS = "multilib:lib32" $ DEFAULTTUNE:virtclass-multilib-lib32 = "x86" $ bitbake lib32-llvm-project-source-19.1.0 llvm-project-source-19.1.0 ... $ cat tmp/work-shared/llvm-project-source-19.1.0-r0/temp/log.task_order 20241012-070604.819630 do_recipe_qa (2728706): log.do_recipe_qa.2728706 20241012-070604.883194 do_recipe_qa (2728707): log.do_recipe_qa.2728707 20241012-070605.037448 do_fetch (2728779): log.do_fetch.2728779 20241012-070605.165280 do_fetch (2728848): log.do_fetch.2728848 20241012-071030.798104 do_unpack (2733554): log.do_unpack.2733554 20241012-071030.864536 do_unpack (2733559): log.do_unpack.2733559 There are two tasks for do_fetch, do_unpack and others, so there are race issues. Both of them have the same hardcode 'llvm-project-source-' prefix in ${WORKDIR} and ${S}, explicitly disable lib32-llvm-project-source-19.1.0 for multilib Set llvm-project-source as BPN of llvm-project-source-19.1.0 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
* clang: Do not override default ld with ld.lldKhem Raj2024-10-101-0/+1
| | | | | | | | | | | This creates a problem when swapping linkers, it does not work without cleaning the recipe first, in anycase if we want to use lld as default in clang then it should be done during clang compile Add packageconfig to let clang defualt Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Do not package clang-pseudo clang-pseudo-gen and clang-renameKhem Raj2024-09-261-6/+9
| | | | | | | | | These tools are unmaintained and clang-20+ has removed them [1] [2] [1] https://github.com/llvm/llvm-project/commit/ed8f78827895050442f544edef2933a60d4a7935 [2] https://github.com/llvm/llvm-project/commit/40c45b6b43180221acb49f387e7d3158adf49e3e Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-cffi: Ad clang to rdeps for ptests to passKhem Raj2024-09-181-0/+5
| | | | | | | ptest tries to compile some portions on the target and demands the compiler that was used to cross-compile it Signed-off-by: Khem Raj <raj.khem@gmail.com>
* lldb: Enable on RISCV64Khem Raj2024-09-181-2/+1
| | | | | | With clang-19 LLDB is building fine for RISCV64 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: scan-build-py: respect LLVM_LIBDIR_SUFFIX like other tools doMartin Jansa2024-09-182-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * other libraries are installed in 'lib64' or 'lib32' based on LLVM_LIBDIR_SUFFIX value, but libscanbuild files were always installed in 'lib' * fixes: ERROR: QA Issue: lib32-clang: Files/directories were installed but not shipped in any package: /usr/lib/libscanbuild /usr/lib/libscanbuild/intercept.py /usr/lib/libscanbuild/analyze.py /usr/lib/libscanbuild/clang.py /usr/lib/libscanbuild/report.py /usr/lib/libscanbuild/arguments.py /usr/lib/libscanbuild/shell.py /usr/lib/libscanbuild/compilation.py /usr/lib/libscanbuild/__init__.py /usr/lib/libscanbuild/resources /usr/lib/libscanbuild/resources/sorttable.js /usr/lib/libscanbuild/resources/selectable.js /usr/lib/libscanbuild/resources/scanview.css Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. lib32-clang: 13 installed and not shipped files. [installed-vs-shipped] e.g. in multilib build where libdir is set to /usr/lib32 or /usr/lib64. Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to 19.1.0 releaseKhem Raj2024-09-1839-367/+255
| | | | | | | | | | | | Release Notes below llvm - https://releases.llvm.org/19.1.0/docs/ReleaseNotes.html clang - https://releases.llvm.org/19.1.0/tools/clang/docs/ReleaseNotes.html lld - https://releases.llvm.org/19.1.0/tools/lld/docs/ReleaseNotes.html libc++ - https://releases.llvm.org/19.1.0/projects/libcxx/docs/ReleaseNotes.html clang-extra - https://releases.llvm.org/19.1.0/tools/clang/tools/extra/docs/ReleaseNotes.html Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: Bump to release_190Khem Raj2024-09-181-4/+4
| | | | | | Fixes build with clang-19 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* include-what-you-use: Upgrade to tip of trunkKhem Raj2024-09-021-2/+2
| | | | | | Brings clang-19 support Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Revert "libcxx: Do not induce -mbranch-protection externally on arm64"Jose Quaresma2024-08-211-1/+0
| | | | | | | | This reverts commit 96b2f3da50c8cf814f661fba37df0a098457b016. The is required to be applied globally and not only for libcxx. Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
* Revert "rust-llvm: Fix build with clang-18"Khem Raj2024-08-202-355/+0
| | | | This reverts commit 292506c431f2037d35ccb7f4f957ce143b617450.
* Update libcxx_git.bbOiouuu2024-08-201-1/+1
| | | Fix syntax error, '-DD' -> '-D'
* compiler-rt-sanitizers: Package a symlink to address headers include issueKhem Raj2024-08-111-13/+13
| | | | | | | | | 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>
* clang: Set -DLLVM_APPEND_VC_REV=OFFKhem Raj2024-08-096-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes Issue #991 If this is not disabled, the build tries to use CMake magic to compute repository and sha1 its building, however in case of OE it gets it completely wrong when building from tarball, because its building under TMPDIR which maybe a directory under main repo checkout e.g. poky tree so it traverses up and finds the sha of poky and assumes that its building from a git tree instead of tarball and emits the version control info into clang -v output e.g. ❯ ../image/mnt/b/yoe/master/build/tmp/work/x86_64-linux/clang-native/20.0.0/recipe-sysroot-native/usr/bin/clang -v clang version 20.0.0 (/home/kraj/work/llvm-project f133c59b33a749dc6d5fa8fb9a2366b95ea45068) This can contain buildpaths since work-shared is where llvm sources will be and they will appear here. Therefore, avoid cmake trying to do this and we get good clean version info > ../recipe-sysroot-native/usr/bin/aarch64-yoe-linux/aarch64-yoe-linux-clang clang version 20.0.0 This will also avoid emitting buildpaths into debuginfo in some cases where compiler version is emitted into build.id info Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libclc: use cmake-qemu to clean up recipeRoss Burton2024-08-061-14/+2
| | | | | | | The cmake-qemu class handles using qemu-user as a CMake emulator, so use that and clean up the recipe. Signed-off-by: Ross Burton <ross.burton@arm.com>
* clang: improve reproducibilityOleh Matiusha2024-07-301-4/+16
| | | | | | | | | | | | | | | | | Currently, class-target is reproducible, but class-nativesdk is not. What I did: - noticed that BuildVariables.inc contains meaningless path fragments after running sed, so I adjusted sed commands to remove the rest of paths as well; - moved common code into a function, which is then called twice; - changed do_compile:prepend into do_configure:append, this is more conventional and intuitive; - verified that the resulting code works for both target and nativesdk after these changes. Signed-off-by: Oleh Matiusha <omatiush@cisco.com>
* compiler-rt-sanitizers: Fix native build tooling pathsEric Sun2024-07-291-3/+6
| | | | | | | | | | | 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>