| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This may already be specified by another low priority override to point
to gcc but we want to always use clang for compiling these packages
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Not yet supprorted
LIBOMP: libomp_check_variable(): LIBOMP_ARCH = UnknownArchitecture is
unknown
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
since llvm libunwind does not provide all the symbols that
glibc/libpthread expects when doing static linking it fails with
some undefined symbols e.g.
/usr/src/debug/glibc/2.29-r0/git/nptl/unwind.c:121: undefined reference to `_Unwind_ForcedUnwind'
which is found in libgcc_s.so, ideally one day clang unwind library
should get there
this is only an issue on glibc, musl works ok
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
i386 inline assembly runs out of registers on clang
so for now let gcc be used
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: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
OE-core now points to gcc-* variants of these variables which will not
be installed when a package is built with clang moreover llvm
version would be needed for thin-lto to work anyway
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
LIBCPLUSPLUS and COMPILER_RT are variables to indicate
if clang c/c++ runtime should be used as well or not
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
- We do not need it with CXX
- adding to compiler flag makes sure that libcxx headers are used even
when C (clang) compiler is used
- Eventually libcxx should provide virtual/${TARGET_PREFIX}compilerlibs
add it in comments
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
We do not need it when using clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Eventually we should be able to pose libcxx+other llvm libs as full
replacement for gcc runtime, for now add it in comments
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>
|
|
|
|
|
|
|
| |
OE-core now uses it so, we have to take the patch from
review system, until it is in master
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
helps with LTO enabled cross builds
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
libcxx headers are used during compiler-rt build and libcxx needs to
know the libc type in order to include correct wrappers for locale
headers
Remove duplicated -DCOMPILER_RT_BUILD_XRAY=OFF
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Forward port ppc/musl patch
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nativesdk packages are special in OE, where linker pads the dynamic
section with additional bits so that can be patched to a relocatable
location duting installing SDK, lld will need such a patch if it has to
link the nativesdk apps, until then we use gold
Add more fine grained packageconfigs for libpfm, ncurses, and libedit
Enable clang as toolchain to build nativesdk version of clang with gold
linker
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Add aarch64 host support
Enable lld via LDFLGS instead of TOOLCHAIN_FLAGS which also get passed
to compiler
Add relative rpaths so the liraries from SDK sysroot are preferred over
sdk host when SDK is used
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Without this -fuse-ld=lld fails to find libgcc_s
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
- User lld for linking nativesdk-clang
- Enable LTO to build nativesdk-clang
- Use -static-libgcc when using gold/lld for nativesdk clang build
- Use llvm wrappers for ar ranlib and nm to help LTO
- Package and create cross versions of lld
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This make it use same runtime as the cross compiler default, which is
more or less what is going to be case, if one wants to use clang runtime
then it should be enabled across all clang variants
(native/nativesdk/cross)
Fixes Issue #66
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>
|
|
|
|
|
|
| |
This will help in using clang Thin-LTO to compile clang itself
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
standalone build starts to look for c++ headers which then
are fed from libstc++ because libcxx is not built yet, instead
let build use it from in-tree libcxx
enable llvm-ar/llvm-ranlib/llvm-nm to provide ar/ranlib/nm
respectively, this helps with lto enabled builds for libcxx
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add to local.conf or distro config the following to enable lto flavors
and lld linker
DISTRO_FEATURES += "thin-lto"
DISTRO_FEATURES += "full-lto"
DISTRO_FEATURES += "lld"
Add lto.bbclass
To enable LTO is currently per recipe, or globally
to enable globally add following to global config meta-data e.g.
local.conf
INHRIT += "lto"
other-wise enable LTO per recipe using
inherit lto to recipe via bbappend or in main recipe
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Should speed up compiler speed
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: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
define CLANG_TIDY_EXE which is used by some build systems e.g. cmake
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
libunwind also drags in libpthread and libdl so add those too
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
It uses gnu as specific syntax
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>
|