From 5e040b69c3086a372e015330080107d9230d3e6b Mon Sep 17 00:00:00 2001 From: Adrian Bunk Date: Sun, 27 Oct 2019 17:00:44 +0200 Subject: gnu-efi: Upgrade 3.0.9 -> 3.0.10 Part of patch fixed upstream removed. (From OE-Core rev: 82169fd7684389f9cdedd6f91a00698641741a8c) Signed-off-by: Adrian Bunk Signed-off-by: Richard Purdie --- ...001-Revert-efilink-fix-build-with-gcc-4.8.patch | 38 ++++++++++++ .../gnu-efi/gnu-efi/parallel-make-archives.patch | 18 ------ meta/recipes-bsp/gnu-efi/gnu-efi_3.0.10.bb | 72 ++++++++++++++++++++++ meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb | 71 --------------------- 4 files changed, 110 insertions(+), 89 deletions(-) create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/0001-Revert-efilink-fix-build-with-gcc-4.8.patch create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0.10.bb delete mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb (limited to 'meta/recipes-bsp') diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/0001-Revert-efilink-fix-build-with-gcc-4.8.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/0001-Revert-efilink-fix-build-with-gcc-4.8.patch new file mode 100644 index 0000000000..8ab25113a4 --- /dev/null +++ b/meta/recipes-bsp/gnu-efi/gnu-efi/0001-Revert-efilink-fix-build-with-gcc-4.8.patch @@ -0,0 +1,38 @@ +From 1f7b2e5bd6603b30202a66b6317a41e2be85742b Mon Sep 17 00:00:00 2001 +From: Esben Haabendal +Date: Tue, 26 Mar 2019 13:37:02 +0100 +Subject: Revert "efilink: fix build with gcc 4.8" + +This reverts commit 6335e5c697c57d8b5854b8202de3733bcb151ca6, as it breaks +gcc builds with '-nostdinc' flag. + +The fix in 1a53d8f88a452847b25f9689f9a08dbcf82c86e4 +(Fix for problem with undeclared intptr_t type), which is also merged +fixes the same problem, without causing breakage. + +Upstream-Status: Submitted [https://sourceforge.net/p/gnu-efi/code/merge-requests/6/] + +Signed-off-by: Esben Haabendal +Signed-off-by: Adrian Bunk +--- + inc/efilink.h | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/inc/efilink.h b/inc/efilink.h +index b69a6fd..cc5aa2d 100644 +--- a/inc/efilink.h ++++ b/inc/efilink.h +@@ -1,10 +1,6 @@ + #ifndef _EFI_LINK_H + #define _EFI_LINK_H + +-#if defined(__GNUC__) +-#include +-#endif +- + /*++ + + Copyright (c) 1998 Intel Corporation +-- +2.20.1 + diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch index a9806cfdf6..8a0138bbe5 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch +++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch @@ -19,25 +19,7 @@ Signed-off-by: Darren Hart Signed-off-by: California Sullivan [Rebased for 3.0.8] Signed-off-by: Yi Zhao ---- - gnuefi/Makefile | 3 ++- - lib/Makefile | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) -diff --git a/gnuefi/Makefile b/gnuefi/Makefile -index 2a61699..89b560a 100644 ---- a/gnuefi/Makefile -+++ b/gnuefi/Makefile -@@ -54,7 +54,8 @@ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a - - all: $(TARGETS) - --libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS)) -+libgnuefi.a: $(OBJS) -+ $(AR) $(ARFLAGS) $@ $(OBJS) - - clean: - rm -f $(TARGETS) *~ *.o $(OBJS) diff --git a/lib/Makefile b/lib/Makefile index 0e6410d..048751a 100644 --- a/lib/Makefile diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.10.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.10.bb new file mode 100644 index 0000000000..ac6257fab9 --- /dev/null +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.10.bb @@ -0,0 +1,72 @@ +SUMMARY = "Libraries for producing EFI binaries" +HOMEPAGE = "http://sourceforge.net/projects/gnu-efi/" +SECTION = "devel" +LICENSE = "GPLv2+ | BSD-2-Clause" +LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \ + file://gnuefi/crt0-efi-aarch64.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \ + file://inc/efishellintf.h;beginline=13;endline=20;md5=202766b79d708eff3cc70fce15fb80c7 \ + file://inc/efishellparm.h;beginline=4;endline=11;md5=468b1231b05bbc84bae3a0d5774e3bb5 \ + file://lib/arm/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \ + file://lib/arm/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \ + file://lib/aarch64/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \ + file://lib/aarch64/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \ + " + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ + file://parallel-make-archives.patch \ + file://lib-Makefile-fix-parallel-issue.patch \ + file://gnu-efi-3.0.9-fix-clang-build.patch \ + file://0001-Revert-efilink-fix-build-with-gcc-4.8.patch \ + " + +SRC_URI[md5sum] = "960a8379b6f95ee73d7778b70bf2a089" +SRC_URI[sha256sum] = "f12082a3a5f0c3e38c67262a9f34245d139ac2cdfc0a0bdcf03c9b1f56fa4fed" + +COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" +COMPATIBLE_HOST_armv4 = 'null' + +do_configure_linux-gnux32_prepend() { + cp ${STAGING_INCDIR}/gnu/stubs-x32.h ${STAGING_INCDIR}/gnu/stubs-64.h + cp ${STAGING_INCDIR}/bits/long-double-32.h ${STAGING_INCDIR}/bits/long-double-64.h +} + +def gnu_efi_arch(d): + import re + tarch = d.getVar("TARGET_ARCH") + if re.match("i[3456789]86", tarch): + return "ia32" + return tarch + +EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \ + 'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}' 'LIBDIR=${libdir}' \ + " + +# gnu-efi's Makefile treats prefix as toolchain prefix, so don't +# export it. +prefix[unexport] = "1" + +do_install() { + oe_runmake install INSTALLROOT="${D}" +} + +FILES_${PN} += "${libdir}/*.lds" + +# 64-bit binaries are expected for EFI when targeting X32 +INSANE_SKIP_${PN}-dev_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}-dev_append_linux-muslx32 = " arch" + +BBCLASSEXTEND = "native" + +# It doesn't support sse, its make.defaults sets: +# CFLAGS += -mno-mmx -mno-sse +# So also remove -mfpmath=sse from TUNE_CCARGS +TUNE_CCARGS_remove = "-mfpmath=sse" + +python () { + ccargs = d.getVar('TUNE_CCARGS').split() + if '-mx32' in ccargs: + # use x86_64 EFI ABI + ccargs.remove('-mx32') + ccargs.append('-m64') + d.setVar('TUNE_CCARGS', ' '.join(ccargs)) +} diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb deleted file mode 100644 index 6d4c303353..0000000000 --- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "Libraries for producing EFI binaries" -HOMEPAGE = "http://sourceforge.net/projects/gnu-efi/" -SECTION = "devel" -LICENSE = "GPLv2+ | BSD-2-Clause" -LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \ - file://gnuefi/crt0-efi-aarch64.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \ - file://inc/efishellintf.h;beginline=13;endline=20;md5=202766b79d708eff3cc70fce15fb80c7 \ - file://inc/efishellparm.h;beginline=4;endline=11;md5=468b1231b05bbc84bae3a0d5774e3bb5 \ - file://lib/arm/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \ - file://lib/arm/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \ - file://lib/aarch64/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \ - file://lib/aarch64/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \ - " - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ - file://parallel-make-archives.patch \ - file://lib-Makefile-fix-parallel-issue.patch \ - file://gnu-efi-3.0.9-fix-clang-build.patch \ - " - -SRC_URI[md5sum] = "32af17b917545a693e549af2439c4a99" -SRC_URI[sha256sum] = "6715ea7eae1c7e4fc5041034bd3f107ec2911962ed284a081e491646b12277f0" - -COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" -COMPATIBLE_HOST_armv4 = 'null' - -do_configure_linux-gnux32_prepend() { - cp ${STAGING_INCDIR}/gnu/stubs-x32.h ${STAGING_INCDIR}/gnu/stubs-64.h - cp ${STAGING_INCDIR}/bits/long-double-32.h ${STAGING_INCDIR}/bits/long-double-64.h -} - -def gnu_efi_arch(d): - import re - tarch = d.getVar("TARGET_ARCH") - if re.match("i[3456789]86", tarch): - return "ia32" - return tarch - -EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \ - 'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}' 'LIBDIR=${libdir}' \ - " - -# gnu-efi's Makefile treats prefix as toolchain prefix, so don't -# export it. -prefix[unexport] = "1" - -do_install() { - oe_runmake install INSTALLROOT="${D}" -} - -FILES_${PN} += "${libdir}/*.lds" - -# 64-bit binaries are expected for EFI when targeting X32 -INSANE_SKIP_${PN}-dev_append_linux-gnux32 = " arch" -INSANE_SKIP_${PN}-dev_append_linux-muslx32 = " arch" - -BBCLASSEXTEND = "native" - -# It doesn't support sse, its make.defaults sets: -# CFLAGS += -mno-mmx -mno-sse -# So also remove -mfpmath=sse from TUNE_CCARGS -TUNE_CCARGS_remove = "-mfpmath=sse" - -python () { - ccargs = d.getVar('TUNE_CCARGS').split() - if '-mx32' in ccargs: - # use x86_64 EFI ABI - ccargs.remove('-mx32') - ccargs.append('-m64') - d.setVar('TUNE_CCARGS', ' '.join(ccargs)) -} -- cgit v1.2.3-54-g00ecf