summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* clang.bbclass: create lld symbolic link in sysroot when ld-is-lld is setMing Liu2023-05-261-0/+10
| | | | | | | | | Create a symbolic link lld -> ld in recipe sysroot to choose the default linker lld when ld-is-lld is set in DISTRO_FEATURES. othereise, we can get linking issues when '-fuse-ld=lld' is in LDFLAGS but the actual ld is not lld. Signed-off-by: Ming Liu <liu.ming50@gmail.com>
* llvm-config: add --libfiles optionNaveen Saini2023-05-151-0/+5
| | | | | | | | | --libfiles Fully qualified library filenames for makefile depends. This option is being used by ispc cmake. https://github.com/ispc/ispc/blob/main/cmake/FindLLVM.cmake#L116 Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
* Add missing scan-build runtime dependenciesmzink892023-04-241-0/+12
| | | | | | * The perl scan-build script need some perl-modules to be executable Signed-off-by: Michel Zink <m.zink@rational-online.com>
* clang: Move .so symlinks to -dev package fixes multilib buildKhem Raj2023-04-201-2/+2
| | | | | | | | Fixes ERROR: lib32-clang-15.0.7-r0 do_package_qa: QA Issue: non -dev/-dbg/nativesdk- package lib32-liblldb contains symlink .so '/usr/lib/liblldbIntelFeatures.so' non -dev/-dbg/nativesdk- package lib32-liblldb contains symlink .so '/usr/lib/liblldb.so' [dev-so] ERROR: lib32-clang-15.0.7-r0 do_package_qa: Fatal QA errors were found, failing task. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* android-tools: allow removing fastboot from TOOLS_TO_BUILDEtienne Cordonnier2023-03-102-2/+4
| | | | | | | | The fastboot makefile is creating the directory $(OUT_DIR)/usr/bin, so removing fastboot from TOOLS_TO_BUILD in a bbappend resulted in a build failure because of the missing directory $(OUT_DIR)/usr/bin. Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
* android-tools: make it work with devtoolEtienne Cordonnier2023-03-1043-137/+1143
| | | | | | | | | | devtool modify android-tools was failing with an error: - regenerate patches in the git format working with devtool - add debian patches to yocto instead of applying them manually with do_unpack_and_patch_debian, to make it work with devtool Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
* android-tools: fix libcrypto_utils link errorEtienne Cordonnier2023-03-061-1/+2
| | | | | | | | | | | | | | When building android-tools, this chain of dependency pulls the openssl library libcrypto.so.3 in recipe-sysroot: clang-native -> cmake-native -> curl-native -> openssl-native The issue is that libcrypto_utils attempt to link against the libcrypto.so produced by boringssl (debian/out/usr/lib/android/libcrypto.so), but the -L flags added by yocto to CPPFLAGS appear before the -L flag provided in the patch, and therefore the wrong library is used. Link explicitly against libcrypto.so.0 in order to ignore the openssl library and use boringssl instead. Note: to debug this add -Wl,--verbose to LDFLAGS Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
* android-tools: make native version compileEtienne Cordonnier2023-03-062-2/+4
| | | | | | | | | | | Those 2 warnings (caused by the combination of -nostdlib and the options added by meta-clang) were treated as errors: """ clang-14: warning: argument unused during compilation: '-rtlib=libgcc' [-Wunused-command-line-argument] clang-14: warning: argument unused during compilation: '--unwindlib=libgcc' [-Wunused-command-line-argument] """ Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
* android-tools-conf: fix typoEtienne Cordonnier2023-03-061-1/+1
| | | | Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
* android-tools-conf: remove PACKAGE_ARCH = MACHINE_ARCHEtienne Cordonnier2023-03-061-2/+0
| | | | | | | | | | | | android-tools inherits the native class, and RDEPENDS on android-tools-conf. This line causes an error when trying to build android-tools-native: """ ERROR: Required build target 'android-tools-native' has no buildable providers. Missing or unbuildable dependency chain was: ['android-tools-native', 'clang-native-x86_64'] """ Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
* android-tools: fix incremental builds by using ln -sfEtienne Cordonnier2023-03-0612-12/+12
| | | | | | | This avoids an error about the file already existing when debugging the recipe and starting incremental builds. Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
* android-tools: correctly pass DEB_HOST_ARCH to libbacktraceEtienne Cordonnier2023-03-062-5/+3
| | | | | | | | | | | - The code was producing the error "tool: command not found" and the else branch was always executed, even for libbacktrace. - There is no variable "deb_host_arch" defined in rules.yocto, so it's not clear what the first line of the patch with DEB_HOST_ARCH=${deb_host_arch} was supposed to do. "${deb_host_arch}" is always undefined in this context. Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
* llvm-project-source: Ensure deploy_source_date_epoch sstate hash doesn't changeKhem Raj2023-01-311-1/+7
| | | | | | | | | if machines are switched, do_deploy_source_date_epoch would re-run as the stamps are tune specific Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 16c67b492aeb5f356688858b2bafda75fec49069) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
* common-source: fix create-spdx handlingKonrad Weihmann2023-01-161-0/+6
| | | | | | | | | | | | | | | | | | - do_create_spdx does have to wait till the shared source tree is properly populated - override the spdx class code detection to determine if sources are under work-shared. the core code does only look at WORKDIR, which isn’t overridden in every case, more likely only S and B are touched, which make the spdx class code assume that these are per-workdir sources and starts to remove the shared sources via bitbake’s cleandirs settings. Avoid that by let the code always handle recipes including common-source as shared sources. Relates to #721 Signed-off-by: Konrad Weihmann <kweihmann@witekio.com>
* llvm-project-source: fix create-spdx handlingKonrad Weihmann2023-01-161-0/+2
| | | | | | | | as the recipe populates the shared source tree as part of do_patch, but create-spdx does only wait for do_unpack. Add an explicit dependency to wait to avoid race conditions Signed-off-by: Konrad Weihmann <kweihmann@witekio.com>
* Fix OpenMP builds with thin LTO enabled.Jan Dorniak2022-12-261-0/+2
| | | | | | | | | | When built with thin LTO enabled, LLVM produces object files containing LLVM IR, which ld can't understand. Since we're forcing the toolchain to clang anyway, let's also force using lld. Fixes GitHub #708 Signed-off-by: Jan Dorniak <jaskij@gmail.com>
* linux-yocto: Use binutils provided stripKhem Raj2022-12-161-0/+1
| | | | | | We are not _yet_ using clang as kernel compiler Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nonclangable.conf: Add new exceptionsAleksey Smirnov2022-12-161-0/+11
| | | | | | | | | Add "erlang" for all architectures (found on riscv64 and x86-64) Add "grub" for x86-64 architecture Use proper OBJCOPY for "linux-yocto" for all architectures Signed-off-by: Aleksey Smirnov <aleksey.smirnov@yadro.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Revert "objcopy: fix path for RISC-V"Khem Raj2022-12-161-12/+0
| | | | This reverts commit 63a6101e27af6436eca646d0c887e4c4ed0760ef.
* objcopy: fix path for RISC-VAleksey Smirnov2022-12-111-0/+12
| | | | | | | Make path to OBJCOPY correct for linux-yocto package. Use gcc for now for erlang and pciutils. Signed-off-by: Aleksey Smirnov <aleksey.smirnov@yadro.com>
* sanitizer: Fix build with glibc 2.36Khem Raj2022-11-042-0/+63
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Add compiler-rt and libcxx to build time depends for targetKhem Raj2022-11-041-1/+1
| | | | | | These are not staged into sysroot otherwise and cmake fails to configure Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt-sanitizers: fix multiple installations for orc libMamta Shukla2022-11-041-1/+2
| | | | | | | remove libclang_rt.orc and c_orc.h header since it is being installed by both compiler-rt and compiler-rt-sanitizer when built for arm. Signed-off-by: Mamta Shukla <mamta.shukla@leica-geosystems.com>
* compiler-rt-sanitizer: fix nativesdk-compiler-rt-sanitizers buildMamta Shukla2022-11-041-1/+1
| | | | Signed-off-by: Mamta Shukla <mamta.shukla@leica-geosystems.com>
* bpftrace: Simplify ptest script and use posix syntaxMichal Wojcik2022-11-032-34/+30
| | | | Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
* bpftrace: Disable ptests on riscv64Khem Raj2022-11-031-6/+13
| | | | | | | Clang crashes compiling some tests so until its fixed in riscv64 backend we have to disable it for atleast rv64 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bcc: Add ptest supportMichal Wojcik2022-11-033-1/+70
| | | | | | | | Use bcc cc and python test suites and parse their results in ptest form. Running whole suite on qemu may take up to 25 minutes, so running it with "ptest-runner -t 1800 bcc" is recommended. Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
* bpftrace: Add ptest supportMichal Wojcik2022-09-302-2/+65
| | | | | | | | | Use existing bpftrace unit and runtime tests and parse their results in ptest form. Running whole suite may take up to 40 minutes, so running it with "ptest-runner -t 2400 bpftrace" is recommended. Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
* bcc: De-vendor libbpfDaniel Thompson2022-09-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | Currently bcc builds against a vendored copy of libbpf. This causes problems for bpftrace which is built against bcc and the system libbpf. The resulting version skew between the vendored and system versions of libbpf resulting in a SEGV whenever bpftrace is used. Although --help and -l (list probe points) work OK that is because they do not actually use BPF! Anything that does use BPF will crash immediately, including bpftrace --info and simple one-liners such as: ~# bpftrace -e 't:raw_syscalls:sys_exit { printf("%s", comm); }' Attaching 1 probe... Segmentation fault Note that this issue is very closely related to similar problems compiling bpftrace against mixed headers from the two libbpf versions. Fixes: https://github.com/iovisor/bpftrace/issues/2173 Fixes: bb3e56b06f9d ("bpftrace: Fix build with new libbpf") Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
* bcc: Fixes to allow libbpf to be de-vendoredDaniel Thompson2022-09-032-0/+125
| | | | | | | | | | | | De-vendoring libbpf resolves a SEGV everytime we run bpftrace. Unfortunately it is not currently possible to de-vendor libbpf because bcc does not build. Fix this with brute force and ignorance... and in a seperate patch so this can be treated as an explanation of the problem and ripped out in favour of the right fix. Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
* bpftrace: Fix segfault when btf__type_by_id returns NULLMichal Wojcik2022-08-252-0/+132
| | | | | | Fixes segfault when running i.e. bpftrace -l Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
* spirv-llvm-translator: fix branch nameAnuj Mittal2022-08-111-1/+1
| | | | | | | | | Upstream doesn't have a branch 'master' anymore so switch to using LLVM 14 specific branch. meta-clang master uses main branch so that doesn't have this problem. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
* clang: Fix native and nativesdk builds for hf targetsEsben Haabendal2022-07-053-3/+6
| | | | | | | | | | | Setting the ${HF} variable based on ${TUNE_CCARGS_MFLOAT} does only make sense for target builds, as it defines arguments for target. Without this fix, building with hf machine configuration will cause problems, as native and nativesdk triplets will be include "hf", something like "x86_64hf-linux", which is wrong and not recognized by LLVM build/configuration system. Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com> (cherry picked from commit 9cea73660aa56b461f96487ddcbfba5e7b64fafb)
* compiler-rt: backport a patch fixing ARMv5 cross-compileMing Liu2022-06-222-0/+66
| | | | | | | | | | | | | Compiler-rt cross-compile for ARMv5 fails because D99282 made it an error if DMB is used for any pre-ARMv6 targets. More specifically, the "#error only supported on ARMv6+" added in D99282 will cause compilation to fail when any source file which includes assembly.h are compiled for pre-ARMv6 targets. Since the only place where DMB is used is syn-ops.h (which is only included by arm/sync_fetch_and_* and these files are excluded from being built for older targets), this patch moves the definition there to avoid the issues described above. Signed-off-by: Ming Liu <liu.ming50@gmail.com>
* compiler-rt: Build clang_rt.profile library when possibleEsben Haabendal2022-06-021-1/+1
| | | | | | | | | | | | | | To enable clang_rt.profile library do something like the following in local.conf or your distro configuration. PACKAGECONFIG:pn-compiler-rt = "profile" The clang_rt.profile library is used to collect coverage information. It is a static library, so does not introduce any additional footprint in target images. Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com> (cherry picked from commit 659d43190d906b6e6081deb48a4bdb038eea0f27)
* clang: Upgrade to 14.0.3Khem Raj2022-04-292-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings these changes * 1f9140064dfb Bump version to 14.0.3 * 2e7e14177186 workflows: Add a test to ensure that the LLVM version is correct * 0e27d08cdeb3 [RISCV] Fix crash for section alignment with .option norvc * a36801750327 [asan] Always skip first object from dl_iterate_phdr * 1f4c7b2a9120 [RISCV] Don't emit fractional VIDs with negative steps * e19be4195b87 [RISCV] Add another test showing incorrect BUILD_VECTOR lowering * 9efcce92b55b [RISCV] Fix lowering of BUILD_VECTORs as VID sequences * 21ce6cfd1d93 [RISCV] Add tests showing incorrect BUILD_VECTOR lowering * 58d5fbe2c20b [llvm-mt] Add support /notify_update * 50c6ba751fa2 [RISCV] Only try LUI+SH*ADD+ADDI for int materialization if LUI+ADDI+SH*ADD failed. * dc30b0d3320d [ELF] --emit-relocs: fix missing STT_SECTION when the first input section is synthetic * 324127d8da95 [libcxx] Add some missing xlocale wrapper functions for OpenBSD * ebf29ba9f0a3 [LV] Remove stray debug dump added in 0d2efbb8b82c. * 0d2efbb8b82c [LV] Always use add to add scalar iv and (startidx + step) for ints. * e7a9fd4f57d6 [LV] Add test case for PR54427. * 9a3e81e1f91f [InstCombine] canonicalize select with signbit test * b83c4a2dc0fb [x86] Fix infinite loop inside DAG combiner with lzcnt feature. * 0fbe860711be [Clang][Fortify] drop inline decls when redeclared * 571c7d8f6dae Reland "[llvm][AArch64] Insert "bti j" after call to setjmp" * 0f56ce0fb207 [DebugInfo][InstrRef] Avoid a crash from mixed variable location modes * e8f03f2057ee Force GHashCell to be 8-byte-aligned. * 09fba23d41f7 [compiler-rt] Implement __clear_cache on FreeBSD/powerpc * 33504b3bbe10 [PowerPC] Allow absolute expressions in relocations * 3400d0293a14 [CMake] Update cache file for Win to ARM Linux cross toolchain builders. NFC. * 6c41c8edb0cc [CMake] Replace `TARGET_TRIPLE` with `TOOLCHAIN_TARGET_TRIPLE` for Win-to-Arm cross toolchain cache file. NFC. * b6dbee34387d [CMake] Update cache file for Win to ARM cross tooolchain. NFC. * 46d19f3a8699 [CMake] Use CMAKE_SYSROOT to build libs for Win to ARM cross tooolchain. NFC. * e11b929a3c97 [LLD][COFF] Fix TypeServerSource matcher with more than one collision * d800180f6bee [lld][COFF] Fix TypeServerSource lookup on GUID collisions * 8c3445ac1c8b [AArch64][LOH] Don't ignore regmasks in bundles by iterating over instrs. * 43ee392dd462 [InstCombine] try to fold low-mask of ashr to lshr * 5ea5e3c01b7b [InstCombine] add tests for low-mask of ashr; NFC * fe8a27acd716 [LV] Handle zero cost loops in selectInterleaveCount. * 2c4d288eae8b [RISCV][NFC] Add missing lit.local.cfg in test/CodeGen/MIR/RISCV/ * d0f27fb44952 [RISCV] Fixing stack offset for RVV object with vararg in stack. * b6e91d4a331e [RISCV] Pre-commit for fixing stack offset for RVV object * 87599bdabbd1 [RISCV] Store/restore RISCVMachineFunctionInfo into MIR YAML file * 5c9eed741dbd [libc++] Make __dir_stream visibility declaration consistent * c62053979489 [AArch64] Fix the upper limit for folded address offsets for COFF * 6697c5bc3a1e [compiler-rt] [scudo] Use -mcrc32 on x86 when available * 8475349bd639 [AARCH64] ssbs should be enabled by default for cortex-x1, cortex-x1c, cortex-a77 * d4e3c50b2bda [libc++] Define `namespace views` in its own detail header. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bpftrace: Fix build with new libbpfKhem Raj2022-04-282-1/+214
| | | | | | | Fixes git/src/btf.cpp:651:10: error: no matching function for call to 'btf_dump__new' Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcxx: Fix nativesdk buildingEsben Haabendal2022-04-251-0/+7
| | | | Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
* compiler-rt: Fix nativesdk buildingEsben Haabendal2022-04-251-1/+6
| | | | Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
* libeigen,opencv,ceres-solver: Disable altivec on ppc32Khem Raj2022-04-241-0/+9
| | | | | | | | | | | It does not compile with altivec TOPDIR/build/tmp/work/ppc7400-yoe-linux-musl/opencv/4.5.5-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h:1345:32: error: use of undeclared identifier 'vec_sqrt'; did you mean 'vec_rsqrt'? BF16_TO_F32_UNARY_OP_WRAPPER(vec_sqrt, a); ^~~~~~~~ vec_rsqrt Signed-off-by: Khem Raj <raj.khem@gmail.com>
* librsvg: Use gcc compiler on ppc32Khem Raj2022-04-241-0/+2
| | | | | | | qemu crashes when using clang, this is not a complete fix either but its a marker to rememeber the problem. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang.bbclass: Use BASELIB instead of base_libdir in YOCTO_ALTERNATE_LIBDIRKhem Raj2022-04-241-1/+1
| | | | | | base_libdir may vary e.g. when using usrmerge feature Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Enable altivec again for ppc32Khem Raj2022-04-241-4/+0
| | | | | | This was disabled for musl issue which is not related to altivec Signed-off-by: Khem Raj <raj.khem@gmail.com>
* musl: Build with clang on ppc64Khem Raj2022-04-241-1/+0
| | | | | | The build issue is only seen on ppc32 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt: Build builtins only for the default targetEsben Haabendal2022-04-201-1/+2
| | | | | | | | | | | | | | | | We were never really supposed to build for multiple target architectures in one compiler-rt build, so let's use the feature created to do exactly that. This also happens to fix building for ARM softfp ABI builds, where the target architecture guessing logics ends up with: -- Builtin supported architectures: arm;armv6m And later on bailing out because of duplicate ninja rules: ninja: error: build.ninja:56765: multiple rules generate lib/clang/14.0.0/lib/linux/libclang_rt.builtins-arm.a [-w dupbuild=err] Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
* rdma-core: Use gcc on ppc32Khem Raj2022-04-101-0/+2
| | | | | | | clang fails to compile it e.g. unsupported bss-plt -fPIC ifunc mmio_write64_be Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libclc: Export YOCTO_ALTERNATE_EXE_PATH and YOCTO_ALTERNATE_LIBDIRKhem Raj2022-04-101-0/+3
| | | | | | They need to be explicitly exported Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to latest on 14.x release branchKhem Raj2022-04-1039-175/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | brings in these fixes * ec13fed5867f [X86] lowerV8I16Shuffle - use explicit SmallVector<SDValue, 4> width to avoid MSVC AVX alignment bug * aaf0c921a54a [clang-repl] Add an accessor to our underlying execution engine * d150523f0776 [AArch64] Use correct calling convention for each vararg * fd98b0f1a6a1 [SelectionDAG] Don't create illegally-typed nodes while constant folding * d53e2603383a [AArch64] Allow .variant_pcs before the symbol is registered * 67a290460c37 [VectorCombine] Insert addrspacecast when crossing address space boundaries * 353068233f21 [ELF] Fix llvm_unreachable failure when COMMON is placed in SHT_PROGBITS output section * 311a622edd31 [Object][test] Fix invalid.test * 1007cb795a3c [llvm-objdump] --private-headers: change errors to warnings for dynamic section dumping * c9ec4902c3e3 [llvm-objdump][test] dos2unix some files * 5b9dd016bec7 [SelectionDAG][RISCV] Make RegsForValue::getCopyToRegs explicitly zero_extend constants. * e9b26b5b2a70 [RISCV] Add test case for miscompile caused by treating ANY_EXTEND of constants as SIGN_EXTEND. * a4681df0202c [libcxx] [test] Avoid spurious test breakage in clang-cl-dll configs with newer CMake * db07d9f098b3 [MC] Fix llvm_unreachable when a STB_GNU_UNIQUE symbol needs a relocation * 22d7bee01a5a [PPCISelLowering] Avoid emitting calls to __multi3, __muloti4 * 23d08271a4b2 Add cmake/ to release tarballs via concatenation * b69247dcbd80 [libcxx] random_device, specify optimal entropy properties for all OS's using arc4random() * 63e7af77ec42 [Clang][NeonEmitter] emit ret decl first for -Wdeclaration-after-statement * f3b89727716a [Driver][OpenBSD] Disable unwind tables on Arm * fe5c24e93754 [docs] Fix typo in tutorial * 99c0f85ef992 Re-commit: Driver: Don't warn on -mbranch-protection when linking * 0547ffef5d39 workflows: Consolidate tests to reduce the number of build jobs * bd8dc965cff1 Bump version to 14.0.1 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pixman: Fix build with mips/arm on clangKhem Raj2022-04-101-6/+11
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* openmp: Enable ompt-tools and offloading-pluginKhem Raj2022-04-101-1/+3
| | | | | | Account for 64bit builtin atomic which are missing on mips Signed-off-by: Khem Raj <raj.khem@gmail.com>