From 3d47ec7831aa3c05e7b9dd2fad67e3e9dcb38c18 Mon Sep 17 00:00:00 2001 From: Matthias Dahl Date: Tue, 4 Jul 2017 10:02:11 +0200 Subject: [PATCH] sys-boot/gnu-efi: Add custom-cflags flag and prevent avx instructions Building gnu-efi with custom compiler flags is risky at best and should generally be avoided. Nevertheless, if custom flags are used, we need to make sure no avx instructions are generated as those cause a non-functional gnu-efi build. This is only required for >= 3.0.5 as prior to this, "-mno-sse" was used which also implied no avx. Fixes bug #619628. --- ...gnu-efi-3.0.6.ebuild => gnu-efi-3.0.6-r1.ebuild} | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) rename sys-boot/gnu-efi/{gnu-efi-3.0.6.ebuild => gnu-efi-3.0.6-r1.ebuild} (87%) diff --git a/sys-boot/gnu-efi/gnu-efi-3.0.6.ebuild b/sys-boot/gnu-efi/gnu-efi-3.0.6-r1.ebuild similarity index 87% rename from sys-boot/gnu-efi/gnu-efi-3.0.6.ebuild rename to sys-boot/gnu-efi/gnu-efi-3.0.6-r1.ebuild index 838f2b4ecb0c..356ce6f38e93 100644 --- a/sys-boot/gnu-efi/gnu-efi-3.0.6.ebuild +++ b/sys-boot/gnu-efi/gnu-efi-3.0.6-r1.ebuild @@ -19,7 +19,7 @@ SLOT="0" # IA64 build is broken in setjmp code: # https://sourceforge.net/p/gnu-efi/bugs/9/ KEYWORDS="-* ~amd64 ~arm ~arm64 -ia64 ~x86" -IUSE="abi_x86_32 abi_x86_64" +IUSE="abi_x86_32 abi_x86_64 -custom-cflags" DEPEND="sys-apps/pciutils" RDEPEND="" @@ -61,8 +61,15 @@ efimake() { src_compile() { tc-export BUILD_CC AR AS CC LD - # https://bugs.gentoo.org/607992 - filter-mfpmath sse + if use custom-cflags; then + # https://bugs.gentoo.org/607992 + filter-mfpmath sse + + # https://bugs.gentoo.org/619628 + append-flags $(test-flags-CC -mno-avx) + else + unset CFLAGS CPPFLAGS LDFLAGS + fi if [[ ${CHOST} == x86_64* ]]; then use abi_x86_32 && CHOST=i686 ABI=x86 efimake -- 2.26.2