| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
LLDB_DISABLE_LIBEDIT was renamed to LLDB_ENABLE_LIBEDIT in
62456e579eebe012e5a6ebcf9960aef9d7babf87.
Signed-off-by: Philip Lorenz <philip@bithub.de>
|
|
|
|
|
|
|
|
|
| |
We need to muck with the default packaging a bit to prevent libdir/clang
subdirectories from being packaged, and instead use nonarch_libdir.
Otherwise the packager complains about directories being beneath
a symlink.
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Allow more of the cmake variables coming from the OE environment
through, otherwise the release C flags and CXX flags get reset to
LLVM's default, which greatly extend build times.
Also switch to using cmake.bbclass's do_compile and do_install
commands. There's no need to call ninja directly anymore.
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
|
|
|
|
|
|
|
|
|
|
| |
src uri has long moved to git, and that is also being used as solib suffix
Fixes packaging errors
ERROR: clang-10.0.0-r0 do_package_qa: QA Issue: libclang rdepends on clang-dev [dev-deps]
ERROR: clang-10.0.0-r0 do_package_qa: QA Issue: clang rdepends on clang-dev [dev-deps]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Disable it by default, since centos7/gcc4.8 can't handle it
Fixes Issue #262
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This helps in consuming less memory during link stage and also fixed
link failures on mips64
Using clang cross itself ends up crashing
| clang-9: error: unable to execute command: Killed
| clang-9: error: linker command failed due to signal (use -v to see invocation)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Michael Davis <michael.davis@essvote.com>
|
|
|
|
|
|
|
|
|
| |
add 'thin-lto' or 'full-lto' to DISTRO_FEATURES to enable it
instead of making it unconditional
Should fix Issue #236
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
| |
This fixes #162 for nativesdk-clang.
|
|
|
|
|
| |
Signed-off-by: Michael Davis <michael.davis@essvote.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
In 003dd05e4c168f7c3cccb9cbfad3fd8f38fe8741, clang replaced the oe-core
provided llvm for building mesa. However, mesa needs AMDGPU to be
enabled on the native target in order to build. Following the example
of oe-core's recipe, just enable AMDGPU for all targets.
Signed-off-by: Justin Bronder <jsbronder@cold-front.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This reverts commit cb86d1f837f8f8c40e8b00c9c29d136ed6a16a08.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
clang might be used for more than just static compiler on target and
therefore lock-stepping it with needing clang cross-compiler is not
right thing
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Allows libedit to dependency to be disabled via
PACKAGECONFIG_remove.
add libedit to native and nativesdk packageconfigs
Signed-off-by: Yong, Jonathan <jonathan.yong@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|