<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-clang.git/recipes-devtools/clang/compiler-rt_git.bb, branch walnascar</title>
<subtitle>Mirror of github.com/kraj/meta-clang.git</subtitle>
<id>https://git.enea.com/cgit/linux/meta-clang.git/atom?h=walnascar</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-clang.git/atom?h=walnascar'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/'/>
<updated>2025-04-02T19:50:10+00:00</updated>
<entry>
<title>clang: add whitespace around assignments</title>
<updated>2025-04-02T19:50:10+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>martin.jansa@gmail.com</email>
</author>
<published>2025-04-02T15:02:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=7d376c4a0cb45d34f45a26a843b57b3c21cf59fc'/>
<id>urn:sha1:7d376c4a0cb45d34f45a26a843b57b3c21cf59fc</id>
<content type='text'>
With:
https://lists.openembedded.org/g/bitbake-devel/message/17508
there are many WARNINGs from this layer

Most of them are caused by this LLVM_LIBDIR_SUFFIX=" which is included
everywhere.

WARNING: meta-clang/recipes-devtools/clang/clang-cross-canadian_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"'
WARNING: meta-clang/recipes-devtools/clang/clang-crosssdk_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"'
WARNING: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"'
WARNING: meta-clang/recipes-devtools/clang/clang_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"'
WARNING: meta-clang/recipes-devtools/clang/compiler-rt-sanitizers_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"'
WARNING: meta-clang/recipes-devtools/clang/compiler-rt-sanitizers_git.bb: meta-clang/recipes-devtools/clang/compiler-rt-sanitizers_git.bb:31 has a lack of whitespace around the assignment: 'PACKAGECONFIG[ctx-profile] ="-DCOMPILER_RT_BUILD_CTX_PROFILE=ON,-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF"'
WARNING: meta-clang/recipes-devtools/clang/compiler-rt_git.bb: meta-clang/recipes-devtools/clang/compiler-rt_git.bb:47 has a lack of whitespace around the assignment: 'PACKAGECONFIG[profile] ="-DCOMPILER_RT_BUILD_PROFILE=ON,-DCOMPILER_RT_BUILD_PROFILE=OFF"'
WARNING: meta-clang/recipes-devtools/clang/compiler-rt_git.bb: meta-clang/recipes-devtools/clang/compiler-rt_git.bb:49 has a lack of whitespace around the assignment: 'PACKAGECONFIG[ctx-profile] ="-DCOMPILER_RT_BUILD_CTX_PROFILE=ON,-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF"'
WARNING: meta-clang/recipes-devtools/clang/compiler-rt_git.bb:47 has a lack of whitespace around the assignment: 'PACKAGECONFIG[profile] ="-DCOMPILER_RT_BUILD_PROFILE=ON,-DCOMPILER_RT_BUILD_PROFILE=OFF"'
WARNING: meta-clang/recipes-devtools/clang/compiler-rt_git.bb:49 has a lack of whitespace around the assignment: 'PACKAGECONFIG[ctx-profile] ="-DCOMPILER_RT_BUILD_CTX_PROFILE=ON,-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF"'
WARNING: meta-clang/recipes-devtools/clang/libclc_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"'
WARNING: meta-clang/recipes-devtools/clang/libcxx_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"'
WARNING: meta-clang/recipes-devtools/clang/llvm-project-source.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"'
WARNING: meta-clang/recipes-devtools/clang/openmp_git.bb: meta-clang/recipes-devtools/clang/clang.inc:19 has a lack of whitespace around the assignment: 'LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"'

Signed-off-by: Martin Jansa &lt;martin.jansa@gmail.com&gt;
</content>
</entry>
<entry>
<title>compiler-rt: remove the LLVM_LIBDIR_SUFFIX conditional</title>
<updated>2025-04-01T14:01:31+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>martin.jansa@gmail.com</email>
</author>
<published>2025-03-25T09:31:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=950413c8cdefb7d8c7a3c6621b34821b714ce321'/>
<id>urn:sha1:950413c8cdefb7d8c7a3c6621b34821b714ce321</id>
<content type='text'>
since the upgrade to 20 it's installed in nonarch_libdir even when
multilib is used and LLVM_LIBDIR_SUFFIX is set to '32'.

I don't know if some people are setting LLVM_LIBDIR_SUFFIX in some
more creative way where this won't work, but with the default:
LLVM_LIBDIR_SUFFIX="${@d.getVar('baselib').replace('lib', '')}"
we don't seem to need this conditional, which actually breaks the
build now when the 'else' branch is used.

fixes:
http://errors.yoctoproject.org/Errors/Details/850268/
mv: cannot stat 'lib32-compiler-rt/20.1.1/image/usr/lib32/linux': No such file or directory

No change for build without multilib and compared with 19 most notably
include/orc/c_api.h is no longer included in {libdir}/clang/&lt;version&gt;:

$ find tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib/linux
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib/linux/libclang_rt.builtins-x86_64.a
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib/linux/liborc_rt-x86_64.a
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/include
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/include/orc
tmp/work/core2-64-oe-linux/compiler-rt/20.1.1.after/image/usr/include/orc/c_api.h

$ find tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib/linux
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib/linux/libclang_rt.builtins-x86_64.a
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib/linux/liborc_rt-x86_64.a
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include/orc
tmp/work/core2-64-oe-linux/compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include/orc/c_api.h

for lib32-compiler-rt:
$ find tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib/linux
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/lib/linux/libclang_rt.builtins-i386.a
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include/orc
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/19.1.7/image/usr/lib/clang/19.1.7/include/orc/c_api.h

$ find tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib/linux
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib/linux/libclang_rt.builtins-i386.a
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib/clang
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib/clang/20.1.1
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/lib/clang/20.1.1/lib
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/include
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/include/orc
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.before/image/usr/include/orc/c_api.h
    this is where it failed because there is no /usr/lib32/clang

$ find tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib/clang
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib/linux
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/lib/clang/20.1.1/lib/linux/libclang_rt.builtins-i386.a
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/include
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/include/orc
tmp/work/i586-oemllib32-linux/lib32-compiler-rt/20.1.1.after/image/usr/include/orc/c_api.h

Signed-off-by: Martin Jansa &lt;martin.jansa@gmail.com&gt;
</content>
</entry>
<entry>
<title>clang.bbclass,compiler-rt: Do not set -target for native clang</title>
<updated>2025-03-22T04:30:56+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2025-03-10T20:19:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=6da0abaa33b458a37b97f42e3755245e3220bf27'/>
<id>urn:sha1:6da0abaa33b458a37b97f42e3755245e3220bf27</id>
<content type='text'>
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 &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>clang: set BPN = "clang" for clang cross,crosssdk,cross-canadian recipes</title>
<updated>2025-02-25T03:41:37+00:00</updated>
<author>
<name>Hongxu Jia</name>
<email>hongxu.jia@windriver.com</email>
</author>
<published>2025-02-24T06:13:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=3669c28e90ad710e38ad2381ef0292d706fa9ffd'/>
<id>urn:sha1:3669c28e90ad710e38ad2381ef0292d706fa9ffd</id>
<content type='text'>
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 &lt;hongxu.jia@windriver.com&gt;
</content>
</entry>
<entry>
<title>recipes: Update to match OE-Core virtual/cross-* changes</title>
<updated>2025-01-22T04:14:14+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2025-01-21T22:08:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=0ea2df0462edc0c01e787b6ee6c0e20cd6a42fc7'/>
<id>urn:sha1:0ea2df0462edc0c01e787b6ee6c0e20cd6a42fc7</id>
<content type='text'>
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 &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>clang: Upgrade to 19.1.4</title>
<updated>2024-11-29T02:30:21+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2024-11-27T17:49:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=275d0a5ed688886e907deb71e4ec6fd94fd24f91'/>
<id>urn:sha1:275d0a5ed688886e907deb71e4ec6fd94fd24f91</id>
<content type='text'>
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>clang: Set -DLLVM_APPEND_VC_REV=OFF</title>
<updated>2024-08-09T16:25:32+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2024-08-08T03:29:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=a5ebfbeaec07929844bc902fb386b229e360bde8'/>
<id>urn:sha1:a5ebfbeaec07929844bc902fb386b229e360bde8</id>
<content type='text'>
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

&gt; ../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 &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>compiler-rt,compiler-rt-sanitizers: Add knob for Context Profiling</title>
<updated>2024-05-27T15:37:41+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2024-05-27T02:52:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=c4e124021e90e70532edb977c2e60aa67448d019'/>
<id>urn:sha1:c4e124021e90e70532edb977c2e60aa67448d019</id>
<content type='text'>
This can not be build without profiling support enabled, therefore
make it a packageconfig option and disabled by default

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>compiler-rt,compiler-rt-sanitizers: Correct target tuple for armhf</title>
<updated>2023-08-02T03:37:52+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2023-08-01T03:21:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=04b2bd9b86301c905e352b4e6cfdacae1c3a2659'/>
<id>urn:sha1:04b2bd9b86301c905e352b4e6cfdacae1c3a2659</id>
<content type='text'>
It will fails on clang-17+
| CMake Error at /mnt/b/yoe/master/build/tmp/work-shared/llvm-project-source-17.0.0-r0/git/compiler-rt/cmake/Modules/CheckSectionExists.cmake:72 (message):
|   error: unknown target triple 'armhf'

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>compiler-rt: fix installed-vs-shipped qa issue</title>
<updated>2023-03-29T00:29:07+00:00</updated>
<author>
<name>Kai Kang</name>
<email>kai.kang@windriver.com</email>
</author>
<published>2023-03-28T02:12:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=8bf663a4198f2c003aaa449764c91cd36fe807b8'/>
<id>urn:sha1:8bf663a4198f2c003aaa449764c91cd36fe807b8</id>
<content type='text'>
It fails to run task do_package of compiler-rt with
[installed-vs-shipped] issue when ${libdir} does not equal
${nonarch_libdir}. Update do_install script to fix the issue.

Signed-off-by: Kai Kang &lt;kai.kang@windriver.com&gt;
</content>
</entry>
</feed>
