summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* bpftrace: Upgrade to 0.21.2+Khem Raj2024-09-026-500/+12
| | | | | | Fix build on upcoming clang-19 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* vulkan-samples: Add Wno-error=overriding-option and remove ↵Khem Raj2024-08-311-2/+2
| | | | | | | | | | Wno-error=deprecated-declarations https://github.com/jtv/libpqxx/issues/738 seems to have been fixed Workaround issue with clang-20 caused by https://github.com/ARM-software/astc-encoder/commit/8377e52e57c1fb5bcf159aa981f3b25b7bad1cb3 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>
* nonclangable: remove '-mbranch-protection=standard' globally on aarch64Jose Quaresma2024-08-211-0/+3
| | | | | | | | | | | | | | | On aarch64 the handling of runtime exception is broken when build with clang. There is currently a fix for libcxx on the layer but it is not enough and this same fix needs to be applied globally. First fix attempt just include libcxx: https://github.com/kraj/meta-clang/issues/963 https://github.com/kraj/meta-clang/pull/968 Remaining reported issue: https://github.com/kraj/meta-clang/issues/998 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>
* include-what-you-use: new recipeChristian Eggers2024-07-241-0/+22
| | | | | | Clang based checker for C/C++ header includes. "Experimental software, as of June 2024.", but definitely very useful. Signed-off-by: Christian Eggers <ceggers@arri.de>
* bindgen-cli: update 0.64.0 -> 0.69.4Markus Volk2024-07-222-111/+98
| | | | | | | | mesa requires at least bindgen-cli_0.65.0 https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/gallium/frontends/rusticl/meson.build#L111 Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* perf: Use gcc as default compilerKhem Raj2024-07-221-0/+1
| | | | | | | | | Since its being build from kernel sources which are procecced with gcc by default KERNEL_CC is gcc, its a constant battle to keep this compiling with clang, so unless clang is also used to compile kernel this is a fruitless excercise to use clang just for perf. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bcc: Upgrade to 0.30.0+Khem Raj2024-07-151-1/+3
| | | | | | This will fix build on clang19+ Signed-off-by: Khem Raj <raj.khem@gmail.com>
* util-linux,util-linux-libuuid: Use -Wl,--undefined-version' with lld linkerKhem Raj2024-07-151-0/+3
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: remove pointless experimental targets codeRoss Burton2024-07-111-9/+0
| | | | | | | | | | | LLVM_EXPERIMENTAL_TARGETS_TO_BUILD is appended with the value of get_clang_experimental_target_arch() which is just the value of get_clang_experimental_arch which is always the empty string despite appearances. Thus none of this is useful, remove it. Signed-off-by: Ross Burton <ross.burton@arm.com>
* Revert "recipes-devtools/llvm/llvm_%.bbappend: fix the build of bpftrace ↵Khem Raj2024-07-101-1/+0
| | | | | | | | ptest failed" This caused meta-clang to fail check-layer-nightly builds This reverts commit 0c2b19b7ad03bba7c21b6bf111ba1a118ea9d44a.
* qt6/qtbase: Always use lld linker with clangKhem Raj2024-07-101-0/+1
| | | | | | | | | | chromium has certain options e.g. -Wl,-mllvm,xxx assumed when compiler chosen is clang. These options are not understood by GNU linker, therefore force using LLD when clang toolchain is used to compile QT6 components. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* recipes-devtools/llvm/llvm_%.bbappend: fix the build of bpftrace ptest failedHongxu Jia2024-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | Due to commit [1][2], llvm-native was added to bpftrace to provide llvm-objcopy for the ptest. But because of commit [3], llvm-native requires opengl in DISTRO_FEATURES to support libllvm. In order to make the build of bpftrace ptest work, explicitly add libllvm to PACKAGECONFIG for llvm-native if ptest enabled. According to [2][3], bpftrace used llvm-objcopy to generate BTF data for unit tests, regardless opengl in DISTRO_FEATURES, enable accelerated software renderer or not does not have side effect on bpftrace [1] https://github.com/kraj/meta-clang/commit/bf6c02a47fb2ffec735df6c7dd642432f3681337 [2] https://github.com/bpftrace/bpftrace/commit/6cc531e35cd3bf77aa2a30cef3e3481c9c53042e [3] https://git.openembedded.org/openembedded-core/commit/?id=ec22bfa67f6f1766102501d4593ce29aafe8c166 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
* bluez5: Use BFD linker instead of lldKhem Raj2024-07-081-1/+2
| | | | | | | | | | | | | | | Some ptests do not build with LLD on RISCV64 | riscv64-yoe-linux-ld: error: undefined symbol: __stop___debug | >>> referenced by log.c:168 (/usr/src/debug/bluez5/5.76/../bluez-5.76/src/log.c:168) | >>> src/log.o:(__btd_log_init) | | riscv64-yoe-linux-ld: error: undefined symbol: __start___debug | >>> referenced by log.c:168 (/usr/src/debug/bluez5/5.76/../bluez-5.76/src/log.c:168) | >>> src/log.o:(__btd_log_init) | >>> the encapsulation symbol needs to be retained under --gc-sections properly; consider -z nostart-stop-gc (see https://lld.llvm.org/ELF/start-stop-gc) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcxx: Do not induce -mbranch-protection externally on arm64Khem Raj2024-07-041-0/+1
| | | | | | | | | | | | On arm64 OE-Core has moved the gcc default configuration done with --enable-standard-branch-protection to be a CFLAGS option which is appended to CC variable, this means that this option can override the package's default to not use it e.g. libunwind where the library has to be built without it. Fixes https://github.com/kraj/meta-clang/issues/963 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nativesdk-clang-glue: Delete do_create_package_spdx taskKhem Raj2024-07-041-0/+1
| | | | | | | SPDX 3.0 has this task executing but other tasks which it depends on are deleted, delete this one too. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang.bbclass: remove mcpu option with qualifiers for the octeontx2 coreRuiqiang Hao2024-07-041-1/+1
| | | | | | | | | Currently, only the '-mcpu=octeontx2' option is removed, and any -mcpu parameters with qualifiers (such as +crc+crypto) are not removed, e.g., '-mcpu=octeontx2+crypto'. Remove these mcpu parameters with qualifiers by using '-mcpu=octeontx2${TUNE_CCARGS_MARCH_OPTS}'. Signed-off-by: Ruiqiang Hao <Ruiqiang.Hao@windriver.com>
* clang: Add packageconfig option for build-idKhem Raj2024-07-041-1/+2
| | | | | | | | Enable it by default, since it is needed for debuginfod to work Fixes https://github.com/kraj/meta-clang/issues/956 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python-bcrypt: Do not use lld when building with ptests on.Khem Raj2024-07-021-0/+1
| | | | | | | | | | Somehow linker/lld here fails to link ptests with cargo, therefore workaround it by disabling lld when ptest feature is on. Fixes errors like note: riscv64-yoe-linux-ld.lld: error: undefined symbol: PyExc_ValueError\nreferenced by bcrypt_rust.a93ef5fbf090e743-cgu.0 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Package docs related to clang-doc toolKhem Raj2024-06-281-0/+1
| | | | | | | | | | | Fixes ERROR: clang-19.0.0-r0 do_package: QA Issue: clang: Files/directories were installed but not shipped in any package: /usr/share/clang-doc /usr/share/clang-doc/clang-doc-default-stylesheet.css /usr/share/clang-doc/index.js Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: remove True option to getVar callsPeter Marko2024-06-261-2/+2
| | | | | | | Layer cleanup similar to https://git.openembedded.org/openembedded-core/commit/?id=26c74fd10614582e177437608908eb43688ab510 Signed-off-by: Peter Marko <peter.marko@siemens.com>
* clang: Upgrade to 18.1.8Khem Raj2024-06-243-3/+3
| | | | | | | | | | | | Brings * 3b5b5c1ec4a3 [libcxx] Align `__recommend() + 1` by __endian_factor (#90292) * 72c9425a79fd [libc++][NFC] Rewrite function call on two lines for clarity (#79141) * 443e23eed24d Bump version to 18.1.8 (#95458) Release announcement [1] [1] https://discourse.llvm.org/t/18-1-8-released/79725/1 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Disable unused-command-line-argument warning for debug buildsKhem Raj2024-06-191-0/+3
| | | | | | | | | This ensures that nativesdk compiler can be built when DEBUG_BUILD = "1" Fixes https://github.com/kraj/meta-clang/issues/932 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to 18.1.7Khem Raj2024-06-113-3/+3
| | | | | | | | | * 768118d1ad38 [clang-format] Fix a bug in formatting goto labels in macros (#92494) * 8c0fe0d65ed8 release/18.x: [clang-format] Don't always break before << between str… (#94091) * 7e6ece9b4f2d [PPCMergeStringPool] Only replace constant once (#92996) * 1ce2d26cd2e9 Bump version to 18.1.7 (#93723) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libclc: Add toolchain component pathsKhem Raj2024-05-301-4/+11
| | | | | | | cmake complains otherwise toolchain incomplete! Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: bump SRCREV to fix the buildMartin Jansa2024-05-291-2/+2
| | | | | | | | | | | | | | | | * just one extra commit: spirv-llvm-translator-native/18.1.0/git $ git log --oneline ad99707fd80189dca0ca76ed89946ae383e9a030..16b2900747a3cc7993eeb39d4a8442b432a3fda0 16b29007 [LLVM-18] Remove dependency on SPIRV-Headers for SPV_INTEL_maximum_registers (#2434) * fixes: http://errors.yoctoproject.org/Errors/Build/185272/ spirv-llvm-translator-native/18.1.0/git/lib/SPIRV/libSPIRV/SPIRVEnum.h:295:17: error: ‘CapabilityRegisterLimitsINTEL’ was not declared in this scope 295 | {CapabilityRegisterLimitsINTEL}); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* libclc: Fix build errorsKhem Raj2024-05-281-12/+4
| | | | | | | Use LIBCLC_CUSTOM_LLVM_TOOLS_BINARY_DIR to define location of all llvm tools needed for build Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: Do not use LLVMVERSIONKhem Raj2024-05-281-1/+0
| | | | | | | * Upgrade to latest on main branch * Use the default values from cmake Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bpftrace: Drop using LLVMVERSIONKhem Raj2024-05-281-6/+0
| | | | | | It seems to be unused. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: Bump spirv-headers to matching tagKhem Raj2024-05-281-1/+1
| | | | | | | | | | This brings specifically this commit Remove dependency on SPIRV-Headers for SPV_INTEL_maximum_registers Which is needed to fix build errors with bump to 18.1.0 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt,compiler-rt-sanitizers: Add knob for Context ProfilingKhem Raj2024-05-272-0/+4
| | | | | | | This can not be build without profiling support enabled, therefore make it a packageconfig option and disabled by default Signed-off-by: Khem Raj <raj.khem@gmail.com>
* devtool-clang.sh: Widen EXTERNALSRC setting by removing overridesKhem Raj2024-05-271-3/+10
| | | | | | | This helps in making it work on multiple architectures, we use same clang to build for these anyway so it just reflects the reality Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcxx: Put Package library module manifest and files in dev packageKhem Raj2024-05-261-0/+2
| | | | | | This is enabled in upcoming clang-19 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: Upgrade to 18.1.0Khem Raj2024-05-261-3/+3
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nativesdk-clang-glue: Use inherit_defer for nativesdk classKhem Raj2024-05-261-1/+1
| | | | | | | This helps it with devtool workflow which needs to inherit externalsrc class before nativesdk Signed-off-by: Khem Raj <raj.khem@gmail.com>
* devtool-clang.sh: Add script for setting devtool workflowKhem Raj2024-05-262-0/+64
| | | | | | Document the process in README Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Fix incorrect task dependencies from ${B}Khem Raj2024-05-262-1/+3
| | | | | | | | | | | | | Some tasks may reference ${B} for llvm-source which in general would not exist. It has dependencies on HOST_SYS and TARGET_SYS which are not appropriate for a shared recipe like llvm-source. This causes problems for the archiver and multiconfigs in particlar. Set B to something else to avoid these task hash issues. Fixes issues #885 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang-common: Rename task add_distro_vendor -> do_preconfigureKhem Raj2024-05-262-5/+6
| | | | | | | | Move the dependency anchor to do_preconfigure instead of do_patch since do_patch may get deleted when using devtool etc. so it helps with working on developing clang using devtool Signed-off-by: Khem Raj <raj.khem@gmail.com>
* layer.conf: update LAYERSERIES_COMPAT for styheadSangmo Kang2024-05-251-1/+1
| | | | | oe-core switched to styhead in: https://git.openembedded.org/openembedded-core/commit?id=cef91ebeb3f2b1d41336fff60555064430a80397 Signed-off-by: Sangmo Kang <sangmo.kang@lge.com>
* clang: Upgrade to 18.1.6Khem Raj2024-05-213-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 1118c2e05e67 [libcxx][libcxxabi] Fix build for OpenBSD (#92186) * 48c1364200b5 [clang] Don't assume location of compiler-rt for OpenBSD (#92183) * 3d0752b9492e [GlobalOpt] Don't replace aliasee with alias that has weak linkage (#91483) * 92087868d5d2 [Arm64EC] Correctly handle sret in entry thunks. (#92326) * bee6966d8efa [Arm64EC] Improve alignment mangling in arm64ec thunks. (#90115) * 6456ebbc18a6 [workflows] Fix libclang-abi-tests to work with new version scheme (#91865) * a7cd0c611238 [RISCV] Add a unaligned-scalar-mem feature like we had in clang 17. * 2a4a0bf1db8b Update llvm/test/Transforms/InstCombine/bit_ceil.ll * 26ccc6b5c1c7 [InstCombine] Drop nuw flag when CtlzOp is a sub nuw (#91776) * aa2549e2bf12 Revert "[SLP]Fix a crash if the argument of call was affected by minbitwidth analysis." * c6d554618931 [GlobalIsel][AArch64] fix out of range access in regbankselect (#92072) * 9acb41b1e4bb [SystemZ] Handle address clobbering in splitMove(). (#92105) * 1665723044ec release/18.x: [libclc] Fix linking against libIRReader * 494847ba8fef [InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (#91215) * fac122ac4391 [X86][Driver] Do not add `-evex512` for `-march=native` when the target doesn't support AVX512 (#91694) * 47b6dc45e39a [AArch64][SelectionDAG] Mask for SUBS with multiple users cannot be elided (#90911) * dff717818356 [RISCV] Use 'riscv-isa' module flag to set ELF flags and attributes. (#85155) * 3512b12a7981 [RISCV] Store RVC and TSO ELF flags explicitly in RISCVTargetStreamer. NFCI (#83344) * be239653149f [RISCV] Add canonical ISA string as Module metadata in IR. (#80760) * 6cfa40e450cf [RISCV][lld] Set the type of TLSDESC relocation's referenced local symbol to STT_NOTYPE * 1184a9cb30e6 [PPCMergeStringPool] Avoid replacing constant with instruction (#88846) * f1491c7460e7 [clang-format] Fix a crash with AlignArrayOfStructures option (#86420) * 8d65f14cb6ff [Clang][Sema] Revise the transformation of CTAD parameters of nested class templates (#91628) * be6c81751cc9 [lld][WebAssembly] Fix test on Windows, use llvm-ar instead of ar * c5b3fa491f00 Reland "[clang-repl] Keep the first llvm::Module empty to avoid invalid memory access. (#89031)" * a82ddb9d8122 [workflows] Add a job for requesting a release note on release branch PRs (#91826) * 09615ce869b0 [OpenMP] Fix child processes to use affinity_none (#91391) * 5c77c1d31d14 [llvm][lld] Pre-commit tests for RISCV TLSDESC symbols * 7dbd266e89a7 [AArc64][GlobalISel] Fix legalizer assert for G_INSERT_VECTOR_ELT * d9a7e5179a89 [InterleavedLoadCombine] Bail out on non-byte-sized vector element type (#90705) * 0a045c9d83bb [AArch64][GISEL] Consider fcmp true and fcmp false in cond code selection (#86972) (#91580) * 4a28f8e3c625 [FunctionAttrs] Fix incorrect nonnull inference for non-inbounds GEP (#91180) * 0abb89a80f5c [clang-format] Don't remove parentheses of fold expressions (#91045) * bce9393291a2 [AMDGPU] Fix GFX12 encoding of s_wait_event export_ready (#89622) * f5f572f54b32 [SelectionDAG] Mark frame index as "aliased" at argument copy elison (#89712) * dfc89f89ed14 [X86][FP16] Do not create VBROADCAST_LOAD for f16 without AVX2 (#91125) * 047cd915b86a [X86][EVEX512] Add `HasEVEX512` when `NoVLX` used for 512-bit patterns (#91106) * 58e44d3c6f67 [AMDGPU] Enhance s_waitcnt insertion before barrier for gfx12 (#90595) * d1d7131906d9 [Workflows] Re-write release-binaries workflow (#89521) * 211cdc65a1fb workflows: Fix incorrect input name in release-binaries.yml (#84604) * 0ec1bc454456 workflows: Fixes for building the release binaries (#83694) * d9661e11996d [Github] Add repository checks to release-binaries workflow (#84437) * b7e2397c54b7 [CMake][Release] Enable CMAKE_POSITION_INDEPENDENT_CODE (#90139) * ce88e86e428b [CMake][Release] Refactor cache file and use two stages for non-PGO builds (#89812) * f2c5a10e1f27 [CMake][Release] Add stage2-package target (#89517) * dd3aa6d0e9a8 Bump version to 18.1.6 (#91094) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bcc: Use UNPACKDIR in place of WORKDIRKhem Raj2024-05-211-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Apply libunwind.pc.in and llvm-config via a patchKhem Raj2024-05-216-65/+93
| | | | | | | this will simplify things with UNPACKDIR and shared sources for all llvm derived recipes Signed-off-by: Khem Raj <raj.khem@gmail.com>