| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Changes
https://discourse.llvm.org/t/llvm-19-1-5-released/83455
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Jan Kircher <jan.kircher@leica-microsystems.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
With clang-19 LLDB is building fine for RISCV64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Fixes build with clang-19
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Brings clang-19 support
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
This reverts commit 292506c431f2037d35ccb7f4f957ce143b617450.
|
|
|
| |
Fix syntax error, '-DD' -> '-D'
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
ptest failed"
This caused meta-clang to fail check-layer-nightly builds
This reverts commit 0c2b19b7ad03bba7c21b6bf111ba1a118ea9d44a.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Layer cleanup similar to
https://git.openembedded.org/openembedded-core/commit/?id=26c74fd10614582e177437608908eb43688ab510
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
| |
cmake complains otherwise
toolchain incomplete!
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
* Upgrade to latest on main branch
* Use the default values from cmake
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|