mkelfimage: Fix build on x86_64 with hardening

We get linking errors on some hosts like
| ld -static --warn-multiple-gp --warn-common -T linux-i386/convert.lds -o objdir/linux-i386/convert ob
jdir/linux-i386/head.o objdir/linux-i386/convert_params.o
| objdir/linux-i386/convert_params.o: In function `printf':
| convert_params.c:(.text+0x1fd): undefined reference to `__stack_chk_fail_local'

This is because the build system is defaulting to host linker when building
32bit binaries and it may not have same defaults as OE toolchain and issue
gets highlighted.

fix it by using cross linker for 32bit links when building on x86_64

(From OE-Core rev: 470c8a0fb5f51a626a194c8fd3aabd448b50ebfa)

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>
This commit is contained in:
Khem Raj authored and Richard Purdie committed 2017-07-24 09:13:30 +01:00
1 parent ec5c4e97c8
commit 37ec69301a
1 file changed
+1
@@ -29,6 +29,7 @@ CACHED_CONFIGUREVARS += "\
HOST_CFLAGS='${BUILD_CFLAGS}' \
HOST_CPPFLAGS='${BUILD_CPPFLAGS}' \
"
EXTRA_OECONF_append_x86-64 = " --with-i386=${HOST_SYS}"
inherit autotools-brokensep