| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
see
https://reviews.llvm.org/D38050
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This package does not provide binary files and is just to glue the
paths for proper use by Clang so disabling debug avoids the packaging
error we were seeing:
,----
| ERROR: nativesdk-clang-glue-4.0.0-r0 do_package: File
| './usr/lib/debug' cannot be packaged into 'nativesdk-clang-glue-dbg'
| because its parent directory structure does not exist. One of its
| parent directories is a symlink whose target directory is not included
| in the package.
`----
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
|
|
|
|
| |
We were mixing tabs and spaces. Now we moved to use spaces only.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|\ |
|
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ncurses' configure script strips the arguments from $CC when checking
if -c and -o can be used together. Clang then doesn't have a default
sysroot argument to use, so it checks the host for the existence of
certain feature headers in libc. These checks fail, and it assumes
that clang can't handle -o and -c together.
Example config.log snippet:
configure:2524: checking whether arm-poky-linux-gnueabi-clang understands -c and -o together
configure:2540: arm-poky-linux-gnueabi-clang -c conftest.c -o conftest2.o >&5
In file included from conftest.c:1:
In file included from /usr/include/stdio.h:27:
In file included from /usr/include/features.h:399:
/usr/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-32.h' file not found
# include <gnu/stubs-32.h>
^
1 error generated.
configure:2543: $? = 1
configure:2562: result: no
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
|
|
|
|
|
|
|
|
| |
OpenJDK normally supports clang, but not currentlty with
the settings in meta-java. More work is needed there, but
for now allow them to build.
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
|
|
|
|
|
|
|
|
|
|
|
| |
With the layer defaults (TOOLCHAIN ??= gcc) clang for target fails
to build due to missing compilers in the native (recipe specific)
sysroot.
Set the necessary additional DEPENDS if TOOLCHAIN = gcc to get the
compilers installed.
Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
|
|
|
|
|
|
| |
Year changed to 2017
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|