| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Binutils is not needed during compile time. Add it instead to
RRECOMMENDS_clang.
Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
clang
One can still use -stdlib=libstdc++ and -rtlib=libgcc to use gcc runtime
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Slows down compilation by 6x
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 #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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang was searching for <install-dir>/../lib for target libs this started to
break when rss changed the location of cross compiler to be inside package build
dir and suddenly the prefix for target sysroot and cross compiler install path
fall under same path.
Fixes issues like
| arm-oe-linux-gnueabi-clang++ -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -mlittle-endi
an -march=armv7a -D__extern_always_inline=inline -no-integrated-as -Wno-error=unused-command-line-argu
ment --sysroot=/mnt/a/build/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-oe-linux-gnueabi/gptfdisk/1.0.1-r0/
recipe-sysroot crc32.o support.o guid.o gptpart.o mbrpart.o basicmbr.o mbr.o gpt.o bsd.o parttypes.o a
ttributes.o diskio.o diskio-unix.o cgdisk.o gptcurses.o -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -
fstack-protector-strong -Wl,-z,relro,-z,now -luuid -lncursesw -o cgdisk
| /mnt/a/build/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-oe-linux-gnueabi/gptfdisk/1.0.1-r0/recipe-sysroo
t-native/usr/bin/../lib/libncursesw.so.5: file not recognized: File format not recognized
| clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
| make: *** [Makefile:21: cgdisk] Error 1
Here it picked libncursesw.so.5 from native sysroot which is wrong for cross compile
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
3.9 is now branched for morty
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>
|
|
|
|
|
|
|
|
| |
AEABI floating point helper functions always use AAPCS (soft-float)
calling convention. Recognize MUSLEABI targets to fix the code generated
for musl-based hard-float builds.
Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed QA warning e.g.
ERROR: QA Issue: clang: Files/directories were installed but not shipped in any package:
/usr/lib/cmake
/usr/lib/cmake/clang
/usr/lib/cmake/llvm
/usr/lib/cmake/clang/ClangTargets-release.cmake
/usr/lib/cmake/clang/ClangConfig.cmake
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Drop upstreamed patches
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Otherwise llvm-tblgen cannot be found if clang happens
to be built before clang-native.
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
| |
This solves some clang issues. A few recipes rely on gcc's
-I= syntax. This is a backport of the feature to the 3.8
branch. It's already in 3.9.
See https://llvm.org/bugs/show_bug.cgi?id=26965
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
ldso was not as per OE norms when building
for 64bit machines. This patch makes the
baselib point to /lib and fixes the issue
it also means that the apps wont work for
mutlilib where baselib != /lib
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Potentially fixes #16
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Move -L flags to LDFLAGS, avoid compiler warnings
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Yi Qingliang <niqingliang2003@gmail.com>
|
|
|
|
| |
Signed-off-by: Yi Qingliang <niqingliang2003@gmail.com>
|
|
|
|
|
|
| |
Move libunwind to 3.8 branch and set SRCREV in clang.inc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
We need to ignore default deps since we are building clang-native pretty
early and it really doesnt need cross compilers dependencies etc.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Drop the upstreamed patches
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Dont stage cmake helper files for nativesdk build
they are also poked at by clang-crosssdk and wrong values are inferred
since the values are meant for SDKMACHINE and not for native build host
so all paths come out incorrect and builds fails for nativesdk packages
Therefore we do not stage llvm cmake files
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
3.7 release branch has been created.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add fix for missing is_pod definition
and additionally fix packaging for nativesdk
PACKAGE_DEBUG_SPLIT_STYLE_class-nativesdk = "debug-without-src"
Fixes errors like
ERROR: debugedit failed with exit code 256 (cmd was
'/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysr
oots/x86_64-linux/usr/lib/rpm/bin/debugedit' -b
'/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/x86
_64-nativesdk-angstromsdk-linux' -d '/usr/src/debug' -i -l
'/mnt/home/kraj/work/angstrom/build/tmp-angstrom-gli
bc/work/x86_64-nativesdk-angstromsdk-linux/nativesdk-clang/3.7.0-r0/debugsources.list'
'/mnt/home/kraj/work/ang
strom/build/tmp-angstrom-glibc/work/x86_64-nativesdk-angstromsdk-linux/nativesdk-clang/3.7.0-r0/package/usr/loc
al/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/lib/libLTO.so.3.7.0svn'):
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/lib/rpm/bin/debugedit:
canonica
lization unexpectedly shrank by one character
see
http://lists.openembedded.org/pipermail/openembedded-core/2013-April/077746.html
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
OE depends on commandline option to decide on hf ABI unlike other
distros which use target triplet *-*-gnueabihf and clang driver only reacted to
triplet and not cmdline options, this patch makes it do that as well
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
| |
Signed-off-by: Nathan Trapp <nathan.trapp@savant.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
The dependency is not necessary for building of the nativesdk package.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Use HOST_CC_ARCH as well in CC and CXX
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|