commit: 3d47ec7831aa3c05e7b9dd2fad67e3e9dcb38c18
Author: Matthias Dahl <matthias.dahl <AT> binary-island <DOT> eu>
AuthorDate: Tue Jul 4 08:02:11 2017 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Jul 9 15:07:40 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d47ec78
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(-)
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 838f2b4ecb0..356ce6f38e9 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