| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we are building an unreleased version the so name is:
libLLVM-MAJOR.MINORsvn.so
instead of just
libLLVM-MAJOR.MINOR.so
E.g.:
libLLVM-5.0svn.so
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
|
|
|
|
|
|
|
|
| |
Originally TARGETS_TO_BUILD was limited to the target architecture,
which is not enough to build code for heterogenous systems such as (in
my case) AMDGPU.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
llvm-config is called by mesa with the following parameters:
llvm-config --libs liba libb libc libd .....
This result in an invalid call of llvm config:
llvm-config --libs
llvm-config liba
llvm-config libb
llvm-config libc
....
Fix this use.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
GCC does not understand the stdlib flag. Resulting in this error during
configuration:
| x86_64-poky-linux-g++: error: unrecognized command line option
| '-stdlib=libc++'
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Use regular expressions for mapping to a llvm arch
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As described in issue #33, LLVM_TARGETS_TO_BUILD should include
build host as well as target arches and that fails since we build
clang-native once for all due to its inherent cross compilable nature
if one needs to limit the targets please set it in local.conf or
via a bbappend in own layer e.g.
LLVM_TARGETS_TO_BUILD = "ARM"
if you only need 32bit arm or
LLVM_TARGETS_TO_BUILD = "ARM;Aarch64"
in case of both arm 32bit and 64bit
fixes #33
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
cmake.bbclass in oe-core master (soon to be Pyro) doesn't set
CMAKE_CROSSCOMPILING unconditionally, but only when it's actually
cross-compiling.
This means the clang-native build doesn't think it's cross-compiling, so the
recipe can be simplified.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fails on some arches e.g. rpi3
/mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/compiler-rt/4.0.0+gitAUTOINC+1fdc27db84-r0/git/lib/xray/xray_inmemory_log.cc:88:33: error: unknown type name 'L'
std::lock_guard<std::mutex> L(LogMutex);
^
/mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/compiler-rt/4.0.0+gitAUTOINC+1fdc27db84-r0/git/lib/xray/xray_inmemory_log.cc:182:26: error: no member named 'mutex' in namespace 'std'
std::lock_guard<std::mutex> L(LogMutex);
~~~~~^
/mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/compiler-rt/4.0.0+gitAUTOINC+1fdc27db84-r0/git/lib/xray/xray_inmemory_log.cc:182:33: error: unknown type name 'L'
std::lock_guard<std::mutex> L(LogMutex);
^
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Uses VLAs
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Binutils is not needed during compile time. Add it instead to
RRECOMMENDS_clang.
Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
helps in building lldb for musl
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow the user to not build all clang target architectures (by default, all
architectures are built). This speeds up build times and reduces image size.
Note, however, that the set of architectures built must still be the same
between the native and cross clang, because the native llvm-config reports
--targets-built according to what "clang-native" supports. Thus when we have
target libraries that are a subset of native libraries, the cross llvm-config
will fail because it can't find some of the libraries that the native
llvm-config finds.
Signed-off-by: Martin Kelly <mkelly@xevo.com>
|
|
|
|
|
|
|
| |
It's useful to have a shared library version of LLVM for programs that require
it.
Signed-off-by: Martin Kelly <mkelly@xevo.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The llvm-common wrapper refers to the LLVM_WANT_RELEASE variable, which is not
actually exported, so it fails. In addition, meta-clang does not support
multiple side-by-side LLVM versions anyway, so the logic isn't really needed.
After fixing these issues, I discovered that llvm-config doesn't cross-compile
properly without more extensive wrapping. Specifically, the native llvm-config
supplies --libdir, and other arguments relative to its current
executable path, so it points into the native sysroot rather than the target
sysroot. In addition, it supplies the native rather than the target compile
CFLAGS, LDFLAGS, etc.
Fix these issues by doing the following:
- Alter the llvm-config to intercept certain flags, such as --cflags, while
passing on other flags to the native llvm-config.
- Patch llvm-config to be able to specify an alternate root location on which to
base --libdir, etc. in order to optionally point into the target sysroot when
needed.
Signed-off-by: Martin Kelly <mkelly@xevo.com>
|
|
|
|
| |
Signed-off-by: Martin Kelly <mkelly@xevo.com>
|
|
|
|
| |
Signed-off-by: Martin Kelly <mkelly@xevo.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>
|
|
|
|
|
|
|
|
| |
It was looking into compiler install area but for OE
cross compiling scenario the compiler runtime is installed
into target sysroot, Fix clang to look into sysroot
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Depend on clang for build runtime libs
Build gobject-introspection for armv7 using gcc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
clang
One can still use -stdlib=libstdc++ and -rtlib=libgcc to use gcc runtime
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>
|
|
|
|
|
|
| |
Slows down compilation by 6x
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
when building with clang it uses compiler-rt intrinsics
which are not available in libgcc and link fails
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
This fixes building with clang using compiler-rt on target
clang++ --rtlib compiler-rt --stdlib libc++ -lunwind hello.cpp
would compile and run on target
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We need full triplet for it to use right linker/assembler
for complete compile step, otherwise it invokes gcc to do
linking and that confuses options e.g. pasing -Wa,--noexecstack
gets passed to gcc during link, this is a gnu assembler option
gcc: error: unrecognized command line option ‘--noexecstack’; did you mean ‘--no-backtrace’?
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
Fixes
| /bin/sh: PYTHON_EXECUTABLE-NOTFOUND: command not found
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
XRAY depends on common pieces of sanitizers which need obstack stuff from glibc
so we are going to disable everything thats sanitizers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
regressed with clang 4.0.0
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #26
Configuring a default target to match the target
is needed since we are cross building clang to run
on target by default it chooss the build host as
target
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
lldb is llvm based native debugger
Signed-off-by: Kai Ruhnau <kai.ruhnau@target-sg.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|