summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bpftrace: Fix llvm-objcopy issue and backport libbpf patches for ↵kirkstone-clang18Soumya Sambu2025-03-269-2/+838
| | | | | | | | | | | | | | | | | | | | | | kirkstone-clang18 Fix bpftrace do_configure failure for kirkstone-clang18: | CMake Error at tests/data/CMakeLists.txt:6 (find_program): | Could not find LLVM_OBJCOPY using the following names: llvm-objcopy, | llvm-objcopy-18, llvm18-objcopy This error occurs because bpftrace searches for llvm-objcopy-${LLVM_VERSION_MAJOR}, expecting llvm version 18.x, while llvm-native from oe-core provides v13.0.1. Since clang-native provides v18.1.6, switching to it resolves the issue. While fixing this, additional libbpf compatibility issues were identified during bpftrace compilation, requiring backporting of multiple patches to resolve: • Undefined BTF_KIND_ENUM64, replaced with BTF_KIND_ENUM. • Missing kprobe_multi in bpf_link_create_opts. • Undefined BPF_TRACE_KPROBE_MULTI. • Undefined reference to btf_is_enum64 in libbpf.so and other related libbpf errors Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
* libbpf: Backport bpf_btf_get_info_by_fdSoumya Sambu2025-03-262-0/+98
| | | | | | | | | | | | | | | | bcc v0.29.1 depends on bpf_btf_get_info_by_fd, which was introduced in libbpf v1.2.0. Since meta-oe kirkstone provides libbpf v0.7.0, this function was missing, resulting in a linker error in the bcc build: undefined reference to `bpf_btf_get_info_by_fd` This patch backports the necessary commit from libbpf v1.2.0 to v0.7.0, allowing bcc v0.29.1 to build successfully. Upstream patch: https://github.com/libbpf/libbpf/commit/30f6bc3c0a296638e3b6930dbcff6f1547f13997 Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
* bindgen-cli: Remove recipe due to incompatibilitiesAriel D'Alessandro2024-12-172-220/+0
| | | | | | | | | | | The bindgen-cli recipe was mainly added as it is used by Mesa to build Rusticl. It inherits from the cargo-update-recipe-crates.bbclass provided in scarthgap, but missing in kirkstone. As bindgen-cli recipe is not supported in kirkstone, let's just remove it. Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com>
* Revert "busybox: Update the bbappend to 1.36"Ariel D'Alessandro2024-12-173-3/+58
| | | | | | | | | This reverts commit 94d11d8b007562c9c5197b0f6354f6637f3a4929. As kirkstone still provides busybox 1.35, bbapend must match that version. Revert the related scarthgap busybox version bump. Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com>
* conf: layer.conf: Add kirkstone to LAYERSERIES_COMPATAriel D'Alessandro2024-12-171-1/+1
| | | | | | Backporting from scarthgap, add kirkstone compat. Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com>
* clang_git.bb: assign PYTHON_PN to LLDB_PYTHON_EXE_RELATIVE_PATHJan Kircher2024-10-311-2/+2
| | | | Signed-off-by: Jan Kircher <jan.kircher@leica-microsystems.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> (cherry picked from commit 9e0ef14c505b8621baad385328293f5eb2d1202a) 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> (cherry picked from commit ee30860682fd7ec7cf95aabf794ac43976d69567) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
* Update libcxx_git.bbOiouuu2024-08-211-1/+1
| | | | | | | Fix syntax error, '-DD' -> '-D' (cherry picked from commit e47fd133a06e584e4947643bbcb9748b6521b3ac) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
* compiler-rt-sanitizers: Package a symlink to address headers include issueKhem Raj2024-08-141-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> Signed-off-by: Ludovic Jozeau <ludovic.jozeau@scle.fr> (cherry picked from commit a2192126094e2152c49becdf281899626abaebed)
* clang: Upgrade to 18.1.6Khem Raj2024-08-113-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> (From meta-clang rev: 49b031747859cc20238c07628f1b550fcf759de9 Signed-off-by: Peter Marko <peter.marko@siemens.com>
* compiler-rt-sanitizers: Fix native build tooling pathsEric Sun2024-07-301-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>
* libcxx: Do not induce -mbranch-protection externally on arm64Khem Raj2024-07-151-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> Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
* 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>
* 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: use release tarball instead of gitEtienne Cordonnier2024-05-072-5/+5
| | | | | | | | | | | | For clang 18.1.5, the llvm-project-source repository is about 3GB big, whereas the source tarball is 126MB big. Using the source tarball instead of the git repository speeds up the fetch step significantly. Also, the git repository is getting so big that depending on the network setup, it is necessary to change git http.postBuffer options in order to avoid errors such as "fetch-pack: unexpected disconnect while reading sideband packet". Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
* frame: Use --undefined-version with lldKhem Raj2024-05-041-0/+1
| | | | | | | | | | | | | | | | | | symbol version script adds some X11 symbols which lld complains about since default is to report undefined symbols with lld. Fixes | x86_64-yoe-linux-ld.lld: error: version script assignment of 'FRAME_2.2' to symbol 'frame_x11_new' failed: symbol not defined | x86_64-yoe-linux-ld.lld: error: version script assignment of 'FRAME_2.2' to symbol 'frame_x11_delete' failed: symbol not defined | x86_64-yoe-linux-ld.lld: error: version script assignment of 'FRAME_2.2' to symbol 'frame_x11_process_event' failed: symbol not defined | x86_64-yoe-linux-ld.lld: error: version script assignment of 'FRAME_2.2' to symbol 'frame_x11_accept_touch' failed: symbol not defined | x86_64-yoe-linux-ld.lld: error: version script assignment of 'FRAME_2.2' to symbol 'frame_x11_reject_touch' failed: symbol not defined | x86_64-yoe-linux-ld.lld: error: version script assignment of 'FRAME_2.2' to symbol 'frame_x11_get_window_id' failed: symbol not defined | x86_64-yoe-linux-ld.lld: error: version script assignment of 'FRAME_2.2' to symbol 'frame_x11_create_window_id' failed: symbol not defined | x86_64-yoe-linux-ld.lld: error: version script assignment of 'FRAME_2.2' to symbol 'frame_x11_get_touch_id' failed: symbol not defined | x86_64-yoe-linux-ld.lld: error: version script assignment of 'FRAME_2.2' to symbol 'frame_x11_create_touch_id' failed: symbol not defined Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to 18.1.5Khem Raj2024-05-032-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings * 617a15a9eac9 [clang codegen] Fix MS ABI detection of user-provided constructors. (#90151) * 20b9ed64ea07 [RISCV][ISel] Fix types in `tryFoldSelectIntoOp` (#90659) * ece9d35f1a70 [GlobalISel] Fix store merging incorrectly classifying an unknown index expr as 0. (#90375) * a7b8b890600a [X86] Enable EVEX512 when host CPU has AVX512 (#90479) * 4da5b1417493 [GlobalISel] Don't form anyextending atomic loads. * a96b04442c9f [AArch64] Remove invalid uabdl patterns. (#89272) * aea091b70eda [clang][CoverageMapping] do not emit a gap region when either end doesn't have valid source locations (#89564) * 58648f334d62 [X86][EVEX512] Check hasEVEX512 for canExtendTo512DQ (#90390) * 6350acdb134d [CGP] Drop poison-generating flags after hoisting (#90382) * f341c76b9461 [Clang] Handle structs with inner structs and no fields (#89126) * abf6b13085fb [IRCE] Skip icmp ptr in `InductiveRangeCheck::parseRangeCheckICmp` (#89967) * ee5bb0c95667 Fix Objective-C++ Sret of non-trivial data types on Windows ARM64 (#88671) * 6dbaa89433f7 [clang-format] Fix a regression in ContinuationIndenter (#88414) * 51ff7f38b633 [clang-format] Fix a regression in annotating TrailingReturnArrow (#86624) * b544217fb31f [AMDGPU] Fix setting nontemporal in memory legalizer (#83815) * 78b99c73ee4b [DAGCombiner] Fix miscompile bug in combineShiftOfShiftedLogic (#89616) * 1aa91720cc4f [DAGCombiner] Pre-commit test case for miscompile bug in combineShiftOfShiftedLogic * 35fea1032741 release/18.x: [clang-format] Correctly annotate braces in macros (#87953) * b9b73814ad8a [libcxx] [modules] Add _LIBCPP_USING_IF_EXISTS on aligned_alloc (#89827) * c0b48372d82a release/18.x: [clang-format] Revert breaking stream operators to previous default (#89016) * 3b4ba7277bd7 [analyzer] Fix performance of getTaintedSymbolsImpl() (#89606) * 7699b341b763 release/18.x: [clang-format] Fix a regression in annotating BK_BracedInit (#87450) * fb865928c8e0 [GlobalISel] Fix fewerElementsVectorPhi to insert after G_PHIs (#87927) * 111ae4509c96 [X86] Fix miscompile in combineShiftRightArithmetic * 76cbd417af50 [X86] Pre-commit tests (NFC) * e7c816b3cd3e [InstCombine] Fix unexpected overwriting in `foldSelectWithSRem` (#89539) * 3685a599c866 ReleaseNote: Mention SpecialCaseList change (#89141) * a981a4f7653c [X86] Always use 64-bit relocations in no-PIC large code model (#89101) * 4ddac856c55f [analyzer] Fix a security.cert.env.InvalidPtr crash * c6d63d4fc555 Bump version to 18.1.5 (#89291) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to 18.1.4Khem Raj2024-04-222-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * e6c3289804a6 [CMake][Release] Disable PGO (#88465) (#89000) * 028e425f86cc [MIPS] Fix the opcode of max.fmt and mina.fmt (#85609) * e3c832b37b0a Fix override keyword being print to the left side * 1deeee3f5da4 Revert "[Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072)" * 995539ce05ba [LLD] [COFF] Don't add pseudo relocs for dangling references (#88487) * db67e6fb9ad1 [libc++] Fix -Wgnu-include-next in stddef.h (#88214) * 647fbc710840 [SelectionDAG] Prevent combination on inconsistent type in `combineCarryDiamond` (#84888) * eaae766a20fd [RISCV] Support rv{32, 64}e in the compiler builtins (#88252) * c24b41d71f2e github-upload-release.py: Fix bug preventing release creation (#84571) * c837970dd7e9 [Codegen][X86] Fix /HOTPATCH with clang-cl and inline asm (#87639) * d0ddcce21d91 [InstSimplify] Make sure the simplified value doesn't generate poison in threadBinOpOverSelect (#87075) * 4056cc29dfd3 Prepend all library intrinsics with `#` when building for Arm64EC (#87542) * 6e071cf30599 [SLP]Fix a crash if the argument of call was affected by minbitwidth analysis. * d89da2ac8839 [libcxx] coerce formatter precision to int (#87738) * b6ebea7972cd [SPARC] Implement L and H inline asm argument modifiers (#87259) * bffecba7ce4c [libc++] Simplify the implementation of <stddef.h> (#86843) * 9899a2d76c8f [lit][ci] Publish lit wheels (#88072) * 3ceccbdb1995 [clang-format] Correctly annotate braces of empty ctors/dtors (#82097) * 429d62872525 [Headers] Don't declare unreachable() from stddef.h in C++ (#86748) * feba8727f805 [ConstantRange] Fix off by 1 bugs in UIToFP and SIToFP handling. (#86041) * e4259b583c92 [Float2Int] Pre-commit test for SIToFP/UIToFP ConstantRange bug. NFC * daca56d8e162 Bump version to 18.1.4 (#87715) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: add .git to repository source urlPeter Marko2024-04-101-1/+1
| | | | | | | | | | | Align the source url with oe-core (meta/recipes-devtools/llvm/llvm_git.bb) Currently when creating shallow tarball download mirror one of the biggest files is llvm and it has to be stored twice because of this difference. Signed-off-by: Peter Marko <peter.marko@siemens.com>
* bpftrace: fix the runtime ptest errorsWentao Zhang2024-04-093-1/+52
| | | | | | | | | | | | | | | https://github.com/bpftrace/bpftrace/pull/2935 changed the test scripts, then the runtime ptest got the following errors: | KeyError: 'BPFTRACE_AOT_RUNTIME_TEST_EXECUTABLE' | Output: /bin/sh: line 1: /usr/bin/: Is a directory\n The changes in run-ptest is to solve these problems. After fixing the previously mentioned problems, we got the the following errors while running the runtime ptest: | error: <unknown>:0:0: in function BEGIN i64 (ptr): 0x56056cec80f0: i64 = GlobalAddress<ptr @__atomic_compare_exchange> 0 too many arguments The new patch in the bb file is to solve this problem. Signed-off-by: Wentao Zhang <wentao.zhang@windriver.com>
* clang: Upgrade to 18.1.3Khem Raj2024-04-062-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings * c13b7485b879 [clang] Avoid -Wshadow warning when init-capture named same as class field (#74512) * f249092ef26d [tsan] Refine fstat{,64} interceptors (#86625) * 76c721994a11 [clang][Sema] Fix a CTAD regression after 42239d2e9 (#86914) * e0f0c463b539 [mlir][transform] replace original op to loop ops (#83537) * 47aac495c895 [OpenMP][AIX] Affinity implementation for AIX (#84984) * a385a917da93 [Support] Fix color handling in formatted_raw_ostream (#86700) * 0cd4babe0342 Reapply [libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#86020) * cfaeee6a8994 release/18.x: [SystemZ] Fix overflow flag for i128 USUBO (#86491) * 767b61c159b3 [lld/ELF][X86] Respect outSecOff when checking if GOTPCREL can be relaxed (#86334) * 7c7c3d4a3a27 [ODS][NFC] Cast range.size() to int32_t in accumulation (#85629) * 0e501dbd932e [Mips] Restore wrong deletion of instruction 'and' in unsigned min/max processing. (#85902) * fbb27d16fa12 [Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072) * e74c1678231a [PowerPC] provide CFI for ELF32 to unwind cr2, cr3, cr4 (#83098) * 1c7c16e58240 [NFC][PowerPC] use script to regenerate the CHECK lines * c2a57034eff0 [msan] Re-exec with no ASLR if memory layout is incompatible on Linux (#85142) * b74f6158460c [msan] Add 'MappingDesc::ALLOCATOR' type and check it is available (#85153) * 98a15dd2d728 [clang][CodeGen] Allow `memcpy` replace with trivial auto var init * 2498e3a07f3d [LoongArch] Assume no-op addrspacecasts by default (#82332) * 368dc8553c5a [SROA]: Only defer trying partial sized ptr or ptr vector types * 0e16af8e4cf3 [ARM] Update IsRestored for LR based on all returns (#82745) * 6f8016fda7d5 Pre-commit test showing bug #80287 * ef6d1ec07c69 Bump version to 18.1.3 (#86168) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* uftrace: Do not use internal clang assemblerKhem Raj2024-03-271-0/+3
| | | | | | This expects GNU assembler I guess. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wtmpdb: Do not pin linker to BFD linkerKhem Raj2024-03-271-3/+2
| | | | | | Newer version seems to work ok with lld with undefined symbols allowed Signed-off-by: Khem Raj <raj.khem@gmail.com>
* liburing: Use --undefined-version with lldKhem Raj2024-03-241-0/+1
| | | | | | | 2.5+ does not link with lld as it has some linker script magic for versioned symbols Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Update clang to 18.1.2 releaseKhem Raj2024-03-2137-40/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings these changes * 26a1d6601d72 [X86] Add missing subvector_subreg_lowering for BF16 (#83720) * 0bf7ff1028fb [C++20] [Moduls] Avoid computing odr hash for functions from comparing constraint expression * a2c93b34dfdf [RISCV] Fix mgather -> riscv.masked.strided.load combine not extending indices (#82506) * a9d4ed71707d [RISCV] Adjust test case to show wrong stride. NFC * 42f511c95c6f [RISCV] Add test case for miscompile in gather -> strided load combine. NFC * 53ea0de61dcd [TSan] Fix atomicrmw xchg with pointer and floats (#85228) * fd9f1faf8fcb [AVR] Remove earlyclobber from LDDRdPtrQ (#85277) * 2d35ba4a8577 Revert "release/18.x: [openmp] __kmp_x86_cpuid fix for i386/PIC builds. (#846…" * df20f2fc9998 [PowerPC] Update chain uses when emitting lxsizx (#84892) * c09f6f6f4341 [llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710) * cba6ebf0d0ab [llvm-shlib] Fix libLLVM-18 symlink on mingw (#85554) * bcf98bd84199 llvm-shlib: Fix libLLVM-${MAJOR}.so symlink on MacOS (#85163) * b1f1effacf32 [WebAssembly] Change the default linker for `wasm32-wasip2` (#84569) * ecc22d27e5b8 workflows: Fix baseline version for llvm abi checks (#85166) * 7fd9979eb9cf [InstCombine] Drop UB-implying attrs/metadata after speculating an instruction (#85542) * edbe7fa5fef9 [lld][LoongArch] Fix handleUleb128 * b95ea2e51bdf [lld][test] Fix sanitizer buildbot failure * 2f640ad26d17 Remove support for EXPORTAS in def files to maintain ABI compatibility for COFFShortExport * 207ecd684cc6 [Arm64EC] Copy import descriptors to the EC Map (#84834) * 79bc8b32c6ed [llvm-lib][Object] Add support for EC importlib symbols. (#81059) * 76e1800f3565 [llvm-lib][llvm-dlltool][Object] Add support for EXPORTAS name types. (#78772) * 77e1992e89d3 [llvm-readobj][Object][COFF] Print COFF import library symbol export name. (#78769) * 3a06861272d8 [libc++] Use clang-tidy version that matches the compiler we use in the CI (#85305) * 0c1dcd675291 [clangd] [HeuristicResolver] Protect against infinite recursion on DependentNameTypes (#83542) * a649e0a6e80f [clang][modules] giving the __stddef_ headers their own modules can cause redeclaration errors with -fbuiltin-headers-in-system-modules (#84127) * 12a3bf351575 workflows: Add workaround for lld failures on MacOS (#85021) (#85110) * 9b3edb592deb release/18.x: [openmp] __kmp_x86_cpuid fix for i386/PIC builds. (#84626) (#85053) * 600f7f2ba28f [clangd] Add clangd 18 release notes (#84436) * bb83f055091c [runtimes] Prefer -fvisibility-global-new-delete=force-hidden (#84917) * 122ba9f10070 [ELF] Eliminate symbols demoted due to /DISCARD/ discarded sections (#85167) * 33c6b2027698 SystemZ release notes for 18.x. (#84560) * 8c6015db5912 [X86][Inline] Skip inline asm in inlining target feature check (#83820) * 38cf35dee880 [Inline] Add test for #67054 (NFC) * c7eb919d2cbe [ValueTracking] Treat phi as underlying obj when not decomposing further (#84339) * b01c3dcf2eb5 [LAA] Add test case for #82665. * 159969b3880b [Release] Install compiler-rt builtins during Phase 1 on AIX (#81485) * 7b61ddefc28a [ArgPromotion] Remove incorrect TranspBlocks set for loads. (#84835) * 25a989ce8bf3 [ArgPromotion] Add test case for #84807. * 2fc8bea42f99 [LLD] [COFF] Set the right alignment for DelayDirectoryChunk (#84697) * fcc33dca02d1 [X86] combineAndShuffleNot - ensure the type is legal before create X86ISD::ANDNP target nodes * 39e3ba8a383e [DSE] Remove malloc from EarliestEscapeInfo before removing. (#84157) * 3f8711fc5e01 [InstCombine] Fix miscompilation in PR83947 (#83993) * 9b9aee16d4dc [Clang][LoongArch] Fix wrong return value type of __iocsrrd_h (#84100) * a9ba36c7e7d7 [Clang][LoongArch] Precommit test for fix wrong return value type of __iocsrrd_h. NFC * d77c5c3830d9 [LoongArch] Make sure that the LoongArchISD::BSTRINS node uses the correct `MSB` value (#84454) * 1de8ea75d9b3 [analyzer] Fix crash on dereference invalid return value of getAdjustedParameterIndex() (#83585) * c14bf0a13d42 [libc++] Enable availability based on the compiler instead of __has_extension (#84065) * 55193c2ba53f [InstCombine] Handle scalable splat in `getFlippedStrictnessPredicateAndConstant` * 78859f118a6b [lld][LoongArch] Support the R_LARCH_{ADD,SUB}_ULEB128 relocation types (#81133) * d8352e93c1c8 [Clang] [Sema] Handle placeholders in '.*' expressions (#83103) * eb9bc02b06cb [RISCV] Fix crash when unrolling loop containing vector instructions (#83384) * c3721c1dcff5 [ELF] Internalize enum * c14879562f46 Unbreak *tf builtins for hexfloat (#82208) * 89d543227a32 [AArch64] Skip over shadow space for ARM64EC entry thunk variadic calls (#80994) * 42c599ab365b [AArch64] Fix generated types for ARM64EC variadic entry thunk targets (#80595) * d7a9810f9c14 [AArch64] Fix variadic tail-calls on ARM64EC (#79774) * ea6c457b8dd2 [LoongArch] Override LoongArchTargetLowering::getExtendForAtomicCmpSwapArg (#83656) * 69d9b15fe872 [TableGen] Fix wrong codegen of BothFusionPredicateWithMCInstPredicate (#83990) * a91b9bd9c750 [OpenMP] fix endianness dependent definitions in OMP headers for MSVC (#84540) * 7cb67530d2e9 ReleaseNotes for LLVM binary utilities (#83751) * 94d8f150ed8b [InstCombine] Fix infinite loop in select equivalence fold (#84036) * 4c36ecbe0e16 [InstCombine] Fix shift calculation in InstCombineCasts (#84027) * e90bfdb4ddce [test] Make two sanitize-coverage tests pass with glibc 2.39+ * bf45c3a07918 [DSE] Delay deleting non-memory-defs until end of DSE. (#83411) * 16ab0812d201 [clang][fat-lto-objects] Make module flags match non-FatLTO pipelines (#83159) * 267d9b1a74c4 Allow .alt_entry symbols to pass the .cfi nesting check (#82268) * 340ba4588c80 MIPS: fix emitDirectiveCpsetup on N32 (#80534) * 439e6f81e772 [libc++][modules] Fixes naming inconsistency. (#83036) * 2ad8fbdbca06 Bump version to 18.1.2 (#84655) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* qt6/qttools: remove bbappendSamuli Piippo2024-03-211-1/+0
| | | | | | clang dependency is already added in meta-qt6 recipe. Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
* Revert "nonclangable: elfuitls: add unused-const-variable fix"Jose Quaresma2024-03-211-2/+0
| | | | | | | | This reverts commit 81e5f4eef93b5e1d6507daaf74fce28a2ccd7cf7. It is merged in oe-core master Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
* nonclangable: elfuitls: add unused-const-variable fixJose Quaresma2024-03-191-0/+2
| | | | Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
* nonclangable: elfuitls: drop unused-private-field fixJose Quaresma2024-03-191-2/+0
| | | | | | It is merged in oe-core master Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
* clang.bbclass: Do not lose TUNE_CCARGS_MARCH_OPTS when rewriting big.LITTLE mcpuKhem Raj2024-03-191-5/+13
| | | | | | | | | Currently, clang options lose the qualifiers like +crc+crypto which are in TUNE_CCARGS_MARCH_OPTS when options like -mcpu=big.little are transformed to -mcpu=little as clang does not understand -mcpu=big.little while gcc does. Here we append TUNE_CCARGS_MARCH_OPTS after the rewrite Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Use +nocrypto with -mcpu for rpi3/rpi4Khem Raj2024-03-191-0/+4
| | | | | | This avoids qtwebengine crashes on rpi4/rpi3 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bcc: remove LUAJIT setting and related examplesChangqing Li2024-03-181-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current LUAJIT actually not works, below is snip of src/lua/CMakeLists.txt [snip] find_package(LuaJIT) find_program(LUAJIT luajit) if (LUAJIT_LIBRARIES AND LUAJIT) FILE(GLOB_RECURSE SRC_LUA ${CMAKE_CURRENT_SOURCE_DIR}/bcc/*.lua ${CMAKE_CURRENT_SOURCE_DIR}/bcc/vendor/*.lua ${CMAKE_CURRENT_SOURCE_DIR}/bpf/*.lua) ADD_CUSTOM_COMMAND( OUTPUT bcc.lua COMMAND ${LUAJIT} ${CMAKE_CURRENT_SOURCE_DIR}/src/squish.lua ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS ${SRC_LUA} ${CMAKE_CURRENT_SOURCE_DIR}/squishy ) ADD_CUSTOM_COMMAND( OUTPUT bcc.o COMMAND ${LUAJIT} -bg bcc.lua bcc.o DEPENDS bcc.lua ) [snip] LUAJIT will be set when luajit is found. For oe, maybe we need to DEPENDS on luajit-native. But there are still 2 problems after I change DEPENDS from luajit to luajit-native and export LUA_PATH="${RECIPE_SYSROOT_NATIVE}/usr/share/luajit-2.1/?.lua" 1. luajit seems not support cross compile, if our target arch is different with build host, from above snip, luajit will compile out bcc.o with host arch, int this way, compile will failed with below error: "error adding symbols: file in wrong format". Refer [1], seems like option "-a" can used to generate other arch object. But luajit-native don't have this option: cortexa57-wrs-linux/bcc/0.29.1/recipe-sysroot-native/usr/bin/luajit [options]... [script [args]...]. Available options are: -e chunk Execute string 'chunk'. -l name Require library 'name'. -b ... Save or list bytecode. -j cmd Perform LuaJIT control command. -O[opt] Control LuaJIT optimizations. -i Enter interactive mode after executing 'script'. -v Show version information. -E Ignore environment variables. – Stop handling options. 2. if target arch is the same as build host(my test env is x86-64), bcc-lua is built out, but still have 2 problems, first, "bcc-lua /usr/share/bcc/examples/lua/bashreadline.lua" has a runtime error [2]. second, bcc-lua may try to find modules on host path: root@qemux86-64:/usr/share/bcc/examples/lua# bcc-lua ./kprobe-latency.lua bcc-lua: bcc.lua:3052: module 'syscall' not found: no field package.preload['syscall'] no file './syscall.lua' no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/share/luaj' no file '/usr/local/share/lua/5.1/syscall.lua' no file '/usr/local/share/lua/5.1/syscall/init.lua' no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/share/lua/' no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/share/lua/' no file './syscall.so' no file '/usr/local/lib/lua/5.1/syscall.so' no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/lib/lua/5.' no file '/usr/local/lib/lua/5.1/loadall.so' so remove LUAJIT setting and related examples first [1] https://luajit.org/running.html [2] https://github.com/iovisor/bcc/issues/1621 Signed-off-by: Changqing Li <changqing.li@windriver.com>
* gtk4: Compile with gcc for musl/x86_64Khem Raj2024-03-171-0/+4
| | | | | | | | | | | | | | | | | | | | There is a gir generation error when compiled with clang | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gtk4/4.12.5/recipe-sysroot/usr/include/glib-2.0/gobject/gobject.h:822: syntax error, unexpected INTEGER, expecting identifier in ' do { if (__builtin_expect (__extension__ ({ int G_PASTE (_g_boolean_var_, 9); if ((weak_pointer) == ((void*)0)) G_PASTE (_g_boolean_var_, 9) = 1; else G_PASTE (_g_boolean_var_, 9) = 0; G_PASTE (_ g_boolean_var_, 9); }), 1)) ; else g_assertion_message (((gchar*) 0), "/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gtk4/4.12.5/recipe-sysroot/usr/include/glib-2.0/gobject/gobject.h ", 822, ((const char*) (__func__)), "'" "weak_pointer" "' should be NULL"); } while (0);' at '9' | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gtk4/4.12.5/recipe-sysroot/usr/include/glib-2.0/gobject/gobject.h:822: syntax error, unexpected ')', expecting identifier or '(' in ' do { if (__builtin_expect (__extension__ ({ int G_PASTE (_g_boolean_var_, 9); if ((weak_pointer) == ((void*)0)) G_PASTE (_g_boolean_var_, 9) = 1; else G_PASTE (_g_boolean_var_, 9) = 0; G_PASTE (_g_boolean_var_, 9); }), 1)) ; else g_assertion_message (((gchar*) 0), "/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gtk4/4.12.5/recipe-sysroot/usr/include/glib-2.0/gobject/gobjec t.h", 822, ((const char*) (__func__)), "'" "weak_pointer" "' should be NULL"); } while (0);' at ')' | Error relocating /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gtk4/4.12.5/build/gtk/libgtk-4.so.1: unsupported relocation type 37 | Error relocating /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gtk4/4.12.5/build/gtk/libgtk-4.so.1: unsupported relocation type 37 | Error relocating /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gtk4/4.12.5/build/gtk/libgtk-4.so.1: unsupported relocation type 37 | If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help. | (typically like this: GIR_EXTRA_LIBS_PATH="${B}/something/.libs" ) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* elfuitls: Use libstdc++ instead of libc++ when using clangKhem Raj2024-03-131-3/+4
| | | | | | | | This avoids/workarounds a libc++ and clang include issue as reported in https://github.com/llvm/llvm-project/issues/71925#issuecomment-1987141438 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Bump version to 18.1.1Khem Raj2024-03-132-3/+3
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* lksctp-tools: Reset SECURITY_STACK_PROTECTOR with clangKhem Raj2024-03-061-0/+3
| | | | | | | | one of the test case test_connectx segfaults as the .so built with -fstack-protector-strong seems to not work properly when compiled with clang18 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to clang 18.1 major releaseKhem Raj2024-03-0640-800/+186
| | | | | | | | | | LLVM - https://github.com/llvm/llvm-project/blob/release/18.x/llvm/docs/ReleaseNotes.rst Clang - https://github.com/llvm/llvm-project/blob/release/18.x/clang/docs/ReleaseNotes.rst libc++ - https://github.com/llvm/llvm-project/blob/release/18.x/libcxx/docs/ReleaseNotes/18.rst lld - https://github.com/llvm/llvm-project/blob/release/18.x/lld/docs/ReleaseNotes.rst extra - https://github.com/llvm/llvm-project/blob/release/18.x/clang-tools-extra/docs/ReleaseNotes.rst Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Adjust packaging to match new libLLVM sonameKhem Raj2024-03-061-3/+2
| | | | | | | | | libLLVM-18.so and libLLVM.so are symlinks to libLLVM.so.18.1, here we make libLLVM-18.so part of libLLVM package so packaging works without warnings about dev-so Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bpftrace: Upgrade to 0.20+ and fix with llvm 18Khem Raj2024-03-067-91/+418
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bcc: Do not set LLVM_PACKAGE_VERSION explicitlyKhem Raj2024-03-061-1/+0
| | | | | | | bcc's build system can detect it correctly these days from sysroot cmake files provided by llvm. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* vulkan-samples: Disable deprecated declaration warnings with libc++Khem Raj2024-03-061-1/+2
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* castxml: Upgrade to 0.6.4Khem Raj2024-03-061-1/+1
| | | | | | And fixes for clang-18 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: Switch to main branch for llvm 18 supportKhem Raj2024-03-061-4/+4
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcxx: Pass LLVM_RUNTIME_TARGETSKhem Raj2024-03-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LLVM_RUNTIME_TARGETS will define the location of triple for target correctly. This is an effort to fix the case where cross compiler will lurk into host libc++ header if libcxx-native is staged for a given recipe e.g. graphviz, it works ok if --sysroot is specified because thats how it tries to find if its a cross sysroot or not but without that it has mind of its own. e.g. try x86_64-yoe-linux-musl-clang++ -stdlib=libc++ ~/tests/iosfd.cpp -v -c ... clang -cc1 version 18.1.0 based upon LLVM 18.1.0 default target x86_64-unknown-linux-gnu ignoring nonexistent directory "/usr/lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../x86_64-pc-linux-gnu/include" ignoring nonexistent directory "/include" /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/graphviz/8.1.0/recipe-sysroot-native/usr/bin/../include/c++/v1 /usr/local/include /usr/include /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/graphviz/8.1.0/recipe-sysroot-native/usr/lib/clang/18/include End of search list. ... See where it is looking for c++ headers. Its not an issue for OE right now, since we always specify --sysroot in CC but still would be good to handle it amicably if possible Signed-off-by: Khem Raj <raj.khem@gmail.com>
* rust-llvm: Fix build with clang-18Khem Raj2024-03-062-0/+355
| | | | | | | | | backport a patch to fix build failure seen with clang-18 /mnt/b/yoe/master/build/tmp/work/x86_64-linux/rust-llvm-native/1.74.1/rustc-1.74.1-src/src/llvm-project/llvm/tools/sancov/sancov.cpp:521:42: error: chosen constructor is explicit in copy-initialization 521 | return SpecialCaseList::createOrDie({{ClIgnorelist}}, | ^~~~~~~~~~~~~~ Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: Use gcc for now.Khem Raj2024-03-061-0/+3
| | | | | | clang-18 crashes, so use gcc until then Signed-off-by: Khem Raj <raj.khem@gmail.com>
* optee-os: Use gcc instead of clang-18Khem Raj2024-03-061-0/+6
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* openldap: Fix build with lld linkerKhem Raj2024-03-031-0/+1
| | | | | | | Fixes aarch64-yoe-linux-ld.lld: error: version script assignment of 'OPENLDAP_2.200' to symbol 'ldap_host_connected_to' failed: symbol not defined /error: [1/17] Signed-off-by: Khem Raj <raj.khem@gmail.com>
* meta-clang: Reflect Yocto Project Compatible badgeKhem Raj2024-02-242-0/+6
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>