From 69273f1d085c5d44071c1f209e9048faa7c78202 Mon Sep 17 00:00:00 2001 From: Ian Stakenvicius Date: Tue, 8 Dec 2015 16:23:20 -0500 Subject: [PATCH] sys-boot/grub:0 - Force -O0 to work around bugs 564890, 566638 Package-Manager: portage-2.2.24 --- ...{grub-0.97-r15.ebuild => grub-0.97-r16.ebuild} | 15 +++++++++++++++ 1 file changed, 15 insertions(+) rename sys-boot/grub/{grub-0.97-r15.ebuild => grub-0.97-r16.ebuild} (93%) diff --git a/sys-boot/grub/grub-0.97-r15.ebuild b/sys-boot/grub/grub-0.97-r16.ebuild similarity index 93% rename from sys-boot/grub/grub-0.97-r15.ebuild rename to sys-boot/grub/grub-0.97-r16.ebuild index 068f68b91960..9da0d0e384ff 100644 --- a/sys-boot/grub/grub-0.97-r15.ebuild +++ b/sys-boot/grub/grub-0.97-r16.ebuild @@ -67,6 +67,21 @@ src_prepare() { || die EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch + + # Work around issue where the default CFLAGS fail with gcc-4.9.3 (possibly newer), force -O0 instead + # bug 564890, 566638 + if [[ $(gcc-major-version) -ge 5 || $(gcc-major-version) -eq 4 && $(gcc-minor-version) -ge 9 ]]; then + if use custom-cflags; then + ewarn "You are using custom cflags with gcc-4.9 or newer." + ewarn "Be aware the result may segfault at runtime due to unknown optimization" + ewarn "incompatibilities." + else + einfo "Forcing -O0 to get around optimization issue caused by gcc-4.9 and newer with -O2" + sed -i -e "/CFLAGS/s/-O2/-O0/" \ + "${S}"/configure.ac || die + fi + fi + rm -f "${S}"/aclocal.m4 # seems to keep bug 418287 away eautoreconf } -- 2.26.2