From: Ian Stakenvicius Date: Tue, 8 Dec 2015 21:23:20 +0000 (-0500) Subject: sys-boot/grub:0 - Force -O0 to work around bugs 564890, 566638 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=69273f1d085c5d44071c1f209e9048faa7c78202;p=gentoo.git sys-boot/grub:0 - Force -O0 to work around bugs 564890, 566638 Package-Manager: portage-2.2.24 --- 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 }