Files
poky/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb
Khem Raj 37ec69301a 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>
2017-07-24 09:13:30 +01:00

43 lines
1.2 KiB
BlitzBasic

SUMMARY = "Utility for creating ELF boot images for ELF-based Linux kernel images"
HOMEPAGE = "http://www.coreboot.org/Mkelfimage"
SECTION = "devel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
SRCREV = "686a48a339b3200184c27e7f98d4c03180b2be6c"
PV = "4.0+git${SRCPV}"
RECIPE_NO_UPDATE_REASON = "mkelfimage has been removed in coreboot 4.1 release: \
http://review.coreboot.org/gitweb?p=coreboot.git;a=commit;h=34fc4ab80b507739e2580d490dff67fcfdde11ea"
DEPENDS += "zlib"
SRC_URI = "git://review.coreboot.org/p/coreboot;protocol=http \
file://cross-compile.patch \
"
SRC_URI_append_class-native = " \
file://fix-makefile-to-find-libz.patch \
"
CLEANBROKEN = "1"
S = "${WORKDIR}/git/util/mkelfImage"
CFLAGS += "-fno-stack-protector"
CACHED_CONFIGUREVARS += "\
HOST_CC='${BUILD_CC}' \
HOST_CFLAGS='${BUILD_CFLAGS}' \
HOST_CPPFLAGS='${BUILD_CPPFLAGS}' \
"
EXTRA_OECONF_append_x86-64 = " --with-i386=${HOST_SYS}"
inherit autotools-brokensep
do_install_append() {
rmdir ${D}${datadir}/mkelfImage/elf32-i386
rmdir ${D}${datadir}/mkelfImage
chown root:root ${D}/${sbindir}/mkelfImage
}
BBCLASSEXTEND = "native"