| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This ensures that it does not end up building NATIVE tools
and using them during build, which obviously wont work when
buildhost != targethost or iow cross-compiling
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This has been deleted in clang 16+ via https://reviews.llvm.org/D130020
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
when building clang for multilib, bitbake complains about liblldb
containing a .so symlink
this patch fixes this
Signed-off-by: lumpyh <lumpy.hega@gmx.de>
|
|
|
|
| |
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
|
|
|
|
|
|
|
|
|
| |
Ensure that lldb uses correct python-dev headers from target python and
not native python during cross compile.
Adjust *_PYTHON_* variables accordingly.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Ensure that clang-tidy, clang-format, clang-tools are separated out into
own packages and also move libclang-cpp shared object out of clang
package too, which should remove every package depending on clang
package since this shared object is needed by all tools.
Might fix https://github.com/kraj/meta-clang/issues/672
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Use libclang.so.* wildcard to include all .so files (not only dangling
symlink ./usr/lib/libclang.so.15 -> libclang.so.15.0.1).
Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
|
|
|
|
|
|
| |
lldb server is needed for native debugging with lldb on target
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
It could be made as a packageconfig but its useful to enable it by
default
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Some of cmake checks in packages depending upon clang check for presense
of these tools during build, therefore populate them into sysroot
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
These tools are needed during build but when building target version of
clang they must be used from clang-native
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
these arches need 64bit atomics which are not available as builtins
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
These are not staged into sysroot otherwise and cmake fails to configure
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
clang can now build multiarch runtimes like debian's setup, but not all
arches work equally well, e.g. arm32 bit can not handle arm and armhf
case, so lets disable it for now.
Use DCMAKE_BUILD_TYPE=RelWithDebInfo as it is needed to set
DCMAKE_BUILD_TYPE in 15.x
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Drop upstreamed patches and forward port the remaining to latest
sourcess
llvm: Fix libzstd detection with zstd cmake files
Release Notes [1] [2] [3] [4] [5] [6]
[1] https://github.com/llvm/llvm-project/blob/release/15.x/clang/docs/ReleaseNotes.rst
[2] https://releases.llvm.org/15.0.0/docs/ReleaseNotes.html
[3] https://releases.llvm.org/15.0.0/tools/clang/docs/ReleaseNotes.html
[4] https://releases.llvm.org/15.0.0/tools/lld/docs/ReleaseNotes.html
[5] https://releases.llvm.org/15.0.0/projects/libcxx/docs/ReleaseNotes.html
[6] https://releases.llvm.org/15.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
ppc32 build fails, disable for now
NativeThreadLinux.cpp:(.text._ZN12lldb_private13process_linux17NativeThreadLinuxC2ERNS0_18NativeProcessLinuxEy+0x84): undefined reference to `lldb_private::process_linux::NativeRegisterContextLinux::CreateHostNativeRegisterContextLinux(lldb_private::ArchSpec const&, lldb_private::process_linux::NativeThreadLinux&)'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
This helps in creating cross utilities to be used during OE cross builds
as noted in
Issue #491
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Ensures right dependencies are added, and keep it off by default
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This is new variable added in clang 14+ to defaultl to PIE
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
lnr is deprecated, simply use ln -rs instead.
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
|
|
|
|
|
|
|
|
| |
This will resolve issue with SDK relocation. See:
https://github.com/kraj/meta-clang/issues/119
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can not use nativesdk variants of libcxx and compiler-rt yet when
compiling nativesdk-clang because, it will need this compiler to build
them, so solve this catch-22, since we do not use the runtime built
during compiler builds, use libgcc/libstdc++ to pass cmake tests
during configure, this should be fine as it will be not needed for final
builds where nativesdk-clang will be used, it can still default to llvm
runtime on SDK host
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
| |
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
After enable multilib, libdir is /usr/lib64, but in llvm's
CMakelist.txt, the install path is hardcode as /usr/lib
eg:
${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}
Signed-off-by: Changqing Li <changqing.li@windriver.com>
|
|
|
|
|
|
| |
Package new content for scanbuild and libear
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This ensures that compiler defaults are defaulting to llvm provided
c/c++ runtimes which includes c-runtime, c++runtime, unwinder and omp
runtime, current approach is to inject commandline options but it does
not get passed in all cases and a lot of smaller/big patches are used to
make such package recipes behave
If RUNTIME = "gnu" then defaults stay to use gcc runtime as it is
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
lldb-server is not fully ported for mips yet see
https://reviews.llvm.org/D102872
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
While we can, it does not have the sspace for path dance that yocto does
for relocable SDK which means clang components may end up being
non-relocatable when SDK is installed in longer paths. So for now pay
the price of switching back to binutils linker
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLDTargets.cmake (generated and installed by the lld build)
references lld this way:
add_executable(lld IMPORTED)
set_property(TARGET lld PROPERTY ENABLE_EXPORTS 1)
This way lld can be used by plugins to get their symbols from,
pretty much like PHP modules that resolve their symbols from the
php executable during runtime linking.
At least https://github.com/RadeonOpenCompute/ROCm-CompilerSupport
uses lld's cmake files as opposed to using only llvm and previously
failed with:
| The imported target "lld" references the file
|
| ".../tmp-sicom-glibc/work/corei7-64-sicom-linux/amd-comgr/4.0.0-r0/recipe-sysroot/usr/bin/lld"
|
| but this file does not exist. Possible reasons include:
|
| * The file was deleted, renamed, or moved to another location.
|
| * An install or uninstall procedure did not complete successfully.
|
| * The installation package was faulty and contained
Extending SYSROOT_DIRS with ${bindir} would break crosscompiling
since CMake found clang/clang++ from recipe-sysroot in this case.
Install lld into sysroot-destdir but nothing else.
Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
|
|
|
|
|
|
|
|
|
| |
This ensures that llvm-config works properly, since target clang is
building shared libs, we should match it on clang native and nativesdk
as well, this helps in cross compiling packages which depend on
llvm-config to get llvm libs list during build/link
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
|
|
|
|
|
|
| |
If thin-lto is used in DISTRO_FEATURES then enable thin-lto
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Daniel Dittmann <daniel.dittmann@rohde-schwarz.com>
|
|
|
|
|
|
|
|
|
| |
There is no upstream support for RISCV in LLDB at this point thus disable it.
Not disabling it would result in undefined references due to lack of RISCV
implementation.
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLVM_TARGET_ARCH must be riscv32 or riscv64, which results in LLVM_NATIVE_ARCH
being RISCV. We cannot pass RISCV to LLVM_TARGET_ARCH as that will cause
"Unknown architecture" error at configure time.
We already have all architectures listed in LLVM_TARGETS_TO_BUILD thus there
is no need to append additional ones. That results in LLVM_NATIVE_ARCH being
listed multiple times, e.g.:
-DLLVM_TARGETS_TO_BUILD='AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86;RISCV;RISCV;RISCV'
Furthermore get_clang_host_arch(), get_clang_target_arch() and get_clang_arch()
now return riscv32 or riscv64, which is not a valid value for
-DLLVM_TARGETS_TO_BUILD. The valid value is RISCV here.
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
| |
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This helps ensure that lldb-server gets correct tripets on target
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is to help llvm-config detect settings correctly, without this mesa
fails to build with llvm-pipe
Fixes
| File "/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/mesa/2_20.1.8-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/me
sonbuild/dependencies/dev.py", line 284, in _set_new_link_args
| mode = self.get_config_value(['--shared-mode'], 'link_args')[0]
| IndexError: list index out of range
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just build BPF and AMDGPU (needed by mesa) when building target clang
along with the target arch
Pass -DNDEBUG -g0 to CXXFLAGS to strip debug info, current amount of
debug info is is humungous ( even with -g1 ) some binaries are > 1G
in size, it takes a long time to link them and also package them since
we have a strip debug info step which takes forever
This should speedup clang build significantly
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
otherwise we grep around in the absolute path to the binary which leads
to false positives when e.g. user THelfer put their tree under ~
Signed-off-by: Daniel Wagener <daniel.wagener@kernelconcepts.de>
|
|
|
|
|
|
|
|
|
| |
This helps in running ptests e.g. perl which encodes the compiler during
cross-compile and it is <cross-compile>-clang and not simply `clang`
since these tests are configured and compiled on build host and run on
target, its requied to have same names on target as well.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Command 'bitbake <myimage> -c populate_sdk' fails with
clang-9: error: invalid linker name in argument '-fuse-ld=gold'.
Using the lld linker fixes the problem.
This commit resolves #368 .
Signed-off-by: Winfried Dobbe <winfried.dobbe@xmsnet.nl>
|
|
|
|
|
|
|
|
|
|
| |
a choice is needed to be made for selecting unwinder library defaults (
--unwindlib ), by default we choose libgcc unwinder when packageconfig
is disabled and only use llvm unwinder when this option is enabled
Fixes Issue #332
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
With lldb split in multiple packages it reduces the size of the `clang`
package and you can now install lldb, lldb-server and liblldb without h
having the whole clang fat package.
|