summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-08-23 18:31:20 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-08-30 12:35:55 +0100
commitf457c98d107a93aa70598a6745ece3f97c9615f0 (patch)
tree5ee9adf15b6ec14c584aca16c34dcfa43a079153 /meta
parenta95269ab18fc1ac802dfc7f82bbc2d0a82695e51 (diff)
downloadpoky-f457c98d107a93aa70598a6745ece3f97c9615f0.tar.gz
diffstat: Add TOOLCHAIN_OPTIONS to Linker calls
configure in this case does a novel thing where it drops all additional compiler options from CC variable into CFLAGS which in OE's case include the options added by TOOLCHAIN_OPTIONS and then it does exactly same for LD as well, the problem starts when we miss the --sysroot options and ABI options which are part of CC variables usually in OE, in the end it assigns LD = CC but doesnt add newly separated CFLAGS to LDFLAGS hence the compile still works since all those needed options are getting into compiler cmdline but link step fails especially when using gold, since it does not find --sysroot option on cmdline it starts to complain about missing libraries and paths This shows up with clang more so because clang does not have implicit sysroot that it silently passes down to linker like gcc does when confgured with sysroot We see errors like arm-angstrom-linux-gnueabi-clang -c -I. -I/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/diffstat/1.60-r0/diffstat-1.60 -DHAVE_CONFIG_H -D__extern_always_inline=inline -D_GNU_SOURCE -O2 -pipe -g -feliminate-unused-debug-types -march=armv7-a -mthumb -mfloat-abi=hard -mfpu=neon -no-integrated-as --sysroot=/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2 /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/diffstat/1.60-r0/diffstat-1.60/diffstat.c NOTE: make -j 16 arm-angstrom-linux-gnueabi-clang -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o diffstat diffstat.o /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld: error: cannot open crt1.o: No such file or directory /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld: error: cannot open crti.o: No such file or directory /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld: error: cannot open crtbegin.o: No such file or directory /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld: error: cannot open crtend.o: No such file or directory /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld: error: cannot open crtn.o: No such file or directory /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld: error: cannot find -lgcc /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld: error: cannot find -lgcc /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld: error: cannot find -lgcc /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ld: error: cannot find -lgcc (From OE-Core rev: ebee06dbf195b74791feb63c23a637324c1656e8) (From OE-Core rev: 9701f9551940814623ed58ef13e4c5bb29934ed6) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-devtools/diffstat/diffstat_1.60.bb2
1 files changed, 2 insertions, 0 deletions
diff --git a/meta/recipes-devtools/diffstat/diffstat_1.60.bb b/meta/recipes-devtools/diffstat/diffstat_1.60.bb
index 29c32a8754..25ba4dac4b 100644
--- a/meta/recipes-devtools/diffstat/diffstat_1.60.bb
+++ b/meta/recipes-devtools/diffstat/diffstat_1.60.bb
@@ -18,6 +18,8 @@ S = "${WORKDIR}/diffstat-${PV}"
18 18
19inherit autotools gettext ptest 19inherit autotools gettext ptest
20 20
21LDFLAGS += "${TOOLCHAIN_OPTIONS}"
22
21do_configure () { 23do_configure () {
22 if [ ! -e ${S}/acinclude.m4 ]; then 24 if [ ! -e ${S}/acinclude.m4 ]; then
23 mv ${S}/aclocal.m4 ${S}/acinclude.m4 25 mv ${S}/aclocal.m4 ${S}/acinclude.m4