| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* issue:
the openembedded-core build procedure relies on changed default
dynamic loader path when the usrmerge distro feature turned on.
As we can find the GCC which is used as default toolchain uses
SYSTEMLIBS_DIR macro variable set to /usr/(lib|lib64) at build
time and hardcodes the binaries with that default loader path.
* solution:
change the default dynamic loader location with --dyld-prefix
clang option to conform the loader location (as GCC does) to
openembedded-core build procedure.
Signed-off-by: Oleksandr Ocheretnyi <oocheret@cisco.com>
|
|
|
|
|
|
|
| |
This helps extra tools like clang-tidy to find arch-specific macros,
headers in a cross compile environment.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It fails to build compiler-rt when ccache is enabled:
| ccache: error: Failure running compiler check command: %compiler% -dumpspecs
Because clang doesn't recognize option '-dumpspecs' from default value
of CCACHE_COMPILERCHECK, override CCACHE_COMPILERCHECK for toolchain
clang in clang.bbclass.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Clang does not yet support big.LITTLE performance tunes, so use the LITTLE for tunes
see [1]
Fixes Issue #313
[1] https://reviews.llvm.org/D32076
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This option can turn Valid options into warnings and cause unintended
behaviour
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
compile-rt is not fully ported for ARM big-endian therefore disable it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
RUNTIME can be 'llvm' or 'gnu' defaults to 'gnu'
Use this variable for selecting stdc++ and c runtime
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
Do not export libunwind to other recipes besides libcxx itself, we use
non-gnu libunwind on linux in general and its not a drop in replacement
as of yet
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
THUMB_TUNE_CCARGS is gone from oe-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This ensures that clang-runtime elements e.g. llvm-libunwind can be used
with gcc as well
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
libunwind can be either nongnu libunwind ( from OE-Core ) or from llvm
and when using clang and using --unwindlib=libunwind we know we have to
use llvm libunwind implementation, so remove libunwind from DEPENDS and
add llvm-libunwind to depends
Drop providing libunwind from llvm-libunwind since its not needed
anymore
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
--unwindlib=libunwind
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Its easier to provide it as replacement for nongnu libunwind
bundled into libcxx was getting harder when it came to replacement
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add compiler-rt and libcxx only when these libs are used via cmdline
* libffi still need to disable internal asm on arm <= v6
* Add compiler-rt to linker only when compiler-rt is used in compiler
cmdline
* Set BASE_DEFAULT_DEPS instead of munging BASEEDEPENDS directly
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Use libgcc
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>
|
|
|
|
|
|
| |
Use llvm libunwind as default for clang toolchain
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This is new way of enabling llvm unwinder as default unwinder
now build shared libunwind which is needed for new option
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
We do not need it when using clang
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
lld is being folded into clang recipe itself
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
There still are some recipes which do not build with internal
assembler, due to GNU'isms or other bugs in inline assembly,
but its small enough number to fix or pin to external assembler
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
It was a workaround which was supposed to go away one day
and that day has arrived
We should fix the packages if they need such a workaround
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
llvm libunwind is still not ported to mips
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Right now it becomes highest priority override which we dont
want
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
clang-5.0 supports the option now
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using cmdline options -std doesnt always work e.g. boost
where it uses c++ driver (clang++) to invoke compilation
but then passes '-x c' to choose the language for compilation
Which ends in errors like below
error: invalid argument '-std=c++14' not allowed with 'C'
Therefore change the defaults in driver itself to use gnu++14
which is default with g++ from gcc7+ too.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
latest gcc7 also defaults to c++14, some packages
have started to use c++11 and newer features without
specifying -std option and rightly so now that gcc
defaults are c++14, applications can safely assume
c++14 as default
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
build llvm libunwind along with libcxx
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
This matches with OE-Core expectations and we
do not need to inject PIE flags manually via
SECURITY_CFLAGS which does not always work
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
gcc in core now is configured with these options but clang
does not have a configuration level knob so we still need to
pass it old way
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
GCC ignores unused arguements by default, but Clang needs this extra
parameter to stop printing warnings about LDFLAGS passed during
compiling stage and CFLAGS passed during linking stage.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Its not ported to mips yet
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
A step towards unplugging gcc runtime
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
| |
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Users find it too intrusive that clang becomes the default
compiler, they would like to invoke it on demand for certain
packages only.
Use TOOLCHAIN ?= "clang" in local.conf if you want clang
to become default
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This gcc option is not supported in clang
hence remove it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Adding it to TOOLCHAIN_OPTIONS renders libtool useless and its not able to
build .so
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|