| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Causes binaries to segfault in qemu user mode
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
When ld-is-lld is in DISTRO_FEATURE, user wants to use lld as system
linker, therefore honor the setting for bare linker as well, for compiler
its being taken care by clang itself using -fuse-ld=lld
Signed-off-by: Khem Raj <raj.khem@gmail.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>
|
|
|
|
|
|
|
|
|
| |
Currently, only the '-mcpu=octeontx2' option is removed, and any
-mcpu parameters with qualifiers (such as +crc+crypto) are not
removed, e.g., '-mcpu=octeontx2+crypto'. Remove these mcpu parameters
with qualifiers by using '-mcpu=octeontx2${TUNE_CCARGS_MARCH_OPTS}'.
Signed-off-by: Ruiqiang Hao <Ruiqiang.Hao@windriver.com>
|
|
|
|
|
|
|
|
|
| |
Currently, clang options lose the qualifiers like +crc+crypto which are in TUNE_CCARGS_MARCH_OPTS
when options like -mcpu=big.little are transformed to -mcpu=little as clang
does not understand -mcpu=big.little while gcc does. Here we append TUNE_CCARGS_MARCH_OPTS
after the rewrite
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This avoids qtwebengine crashes on rpi4/rpi3
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
So far when using toolchain = clang would punt gcc from native-sysroot
but its beneficial to keep both compilers since they can co-exist its
not a big problem to have both in sysroot. This helps in debugging
issues as well.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
A pair of '[]' is missing, add them in.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
|
|
|
|
|
| |
It was just used for RISCV32/RISCV64 until now.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
TC_CXX_RUNTIME is now defined in OE-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
allarch recipes do not really need compiler toolchains, otherwise they
are not allarch
Fixes issues like
| ln: failed to create symbolic link 'TOPDIR/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/ca-certificates/20211016-r0/recipe-sysroot-native/usr/bin/aarch64-yoe-linux/aarch64-yoe-linux-ld': No such file or directory
Reported-by: Cliff Brake <cbrake@bec-systems.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
compiler installation
This ensures correct directory is used to create linker symlink
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When INHIBIT_DEFAULT_DEPS = "1" then the toolchain is not staged in
Recipe specific native sysroot at all, therefore there is no point of
creating the symlink
Moreover it also fixes build of such recipes when ld-is-lld is set at
distro level
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
This option is not available in clang yet
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
file paths in debug info"
Original issue has been fixed in clang 15+, -ffile-compilation-dir
actually conflicts with creating separate -src packages since it
confuses the packager about relative locations of the source files
This reverts commit 224863150c9320b32f344792928af7fbda56d65d.
|
|
|
|
|
|
|
| |
Older versions of clang sometime crashed so this was a workaround but it
degrades debugging experience especially with SDK.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
clang-15 now supports linker relaxations therefore enable it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
We need a fix for https://github.com/llvm/llvm-project/issues/57407
before we can re-enable it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
in debug info
Clang does not remap the src filename in asm files debug info when using
-fdebug-prefix-map but gcc does [1], however, there is an option to help
reproducibility with clang namely ffile-compilation-dir to remove the
source directory from path. use it globally with clang compiler
[1] https://github.com/llvm/llvm-project/issues/56609
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
base_libdir may vary e.g. when using usrmerge feature
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This was disabled for musl issue which is not related to altivec
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
exporting them changes signatures of the tasks for all recipes
includeing native ones, so when meta-clang is not used it ends up
building all native recipes too. Defining these variables is good
enought for clang to see them in do_compile shell for target recipes
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
These variables are used during target package compiles in packages
which user llvm-config e.g. libclc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This ensures that multilib prefix is respected in dependencies and can
be handled when distro enables multilib
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
When RUNTIME=="llvm" the libcxx entry will be added in a separate if clause
right after this. We don't need it twice.
Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Workaround qemuppc illegal instruction trap on vxor instruction emulation
this instruction is emitted by clang with -mcpu=7400 on ppc32 when
compiling musl/strspn.c file
The crash shows up running qemu-ppc via gobject-introspection, so a long
unwieldy path but we know whats happening
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable __int128 for compiler-rt/ppc32
Drop redundant ppc patch which is fixed upstream already
Brings these fixes
* e879b2bf82ef [libcxxabi] [test] Depend on unwind only if available
* 569b773323a3 [libcxx][CI] Set Arm triples to match native clang build's default
* f7007c570a21 Lambdas are not necessarily locals. This resolves DR48250.
* eb84577cbc23 Revert "[release] Use the Bootstrapping build for building LLVM releases"
* d843bde69aab [clang][driver] Fix float128 diagnostics with glibc >= 2.32
* ba9ff030d302 [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP
* da3953fb0315 [NFC][PhaseOrdering] Add some tests from D119839
* 8b51e5ee0a2e [NewPM][Inliner] Make inlined calls to functions in same SCC as callee exponentially expensive
* 6a713120502a [llvm] [bindings/OCaml] Remove unused dep on ounit2
* 2de2a2bba998 [LICM][PhaseOrder] Don't speculate in LICM until after running loop rotate
* 7d1cd3380add [NFC][PhaseOrdering] Improve test coverage for D119975
* 1f4613675051 [NFC][PhaseOrdering] spurious-peeling.ll: also test -O1/-O2 results
* 36bf1a9e628d [NFC][PhaseOrdering] Precommit tests from D119965
* 67555104d23a [MachineSink] Disable if there are any irreducible cycles
* 1e4fd59253c6 [CodeGen] Add test for PR53990 (NFC)
* bfaed485756a [BOLT][CMAKE] Remove CMake 3.13.4 incompatible parameter
* 43b4544023b7 [LLD] [COFF] Order .debug_* sections at the end, to avoid leaving gaps if stripped
* e6d2aa9b0f13 [MC][WebAssembly] Fix crash when relocation addend underlows U32
* f6a4df3a0a3d [WebAssembly] Covert llvm/test/MC/WebAssembly/reloc-code.ll to asm. NFC
* 9d54fe21c67f [docs] Add RISC-V release notes for LLVM 14
* 1e3d5ccab6b6 Add cmake to source release tarballs
* 0205cc086e50 [OpenMP][FIX] Ensure custom state machine works
* 0826716786cd [Mips] support "sp" named register
* 09546e1b5103 [libc++][doc] Update the release notes.
* 8f9f84c6873e [docs] clang/docs/ReleaseNotes.rst: Add blank line
* aab33202d239 [docs] PowerPC release notes formatting/grammar fixes
* acf67b7a0dfc [docs] Tweak wording of note re: LTO on AIX
* ce1e90fc8dba [docs] Add PowerPC release notes for LLVM 14
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
This reverts commit a6cea51ab2b0923340012655ac0f13afba899e57.
|
|
|
|
|
|
|
| |
There are missing features in llvm-objdump especially for gnu-hash
sections for mips
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
do_populate_sysroot will execute the cross STRIP as part of the
processing. In non-clang builds this is present via POPULATESYSROOTDEPS
pulling in binutils, but in clang builds STRIP is set to llvm-strip which
obviously isn't part of binutils.
Set POPULATESYSROOTDEPS correctly to ensure that do_populate_sysroot has
the strip binary available.
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
|
|
|
|
|
|
| |
These tools are better integrated with clang produced output consumption
pipeline, therefore use them when using clang as compiler
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: yangpeng1995 <1336781165@qq.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Commit a494bbb6ec44 ("clang: support android runtime") introduced an
unrelated change causing builds with RUNTIME="llvm" and COMPILER_RT not
set to get a dependency on virtual/${TARGET_PREFIX}compilerlibs.
This is clearly unrelated to addition of support for android runtime,
and causing unwanted depdencies to gcc-runtime for LLVM builds.
Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
|
|
|
|
| |
Signed-off-by: Hsia-Jun(Randy) Li <randy.li@synaptics.com>
|
|
|
|
|
|
|
| |
libcxx does not build for armv5 due to atomic locks issue
and compile-rt cross build needs to be fixed for ppc32
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: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
| |
Signed-off-by: Martin Jansa <Martin.Jansa@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>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
Use libgcc with clang-native to compile it
Fixes #465
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
klibc does not provide libssp functions e.g. __stack_chk_guard and
__stack_chk_guard which it expects from libc and compiler-rt code tend
to use these functions, so when using compiler-rt it ends up with
undefined symbols e.g.
/usr/lib/clang/13.0.0/lib/linux/libclang_rt.builtins-armhf.a(divmoddi4.c.o): in function `__divmoddi4':
divmoddi4.c:(.text+0x70): undefined reference to `__stack_chk_fail'
arm-yoe-linux-gnueabi-ld.bfd: divmoddi4.c:(.text+0x74): undefined reference to `__stack_chk_guard'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|