commit:     69273f1d085c5d44071c1f209e9048faa7c78202
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  8 21:23:20 2015 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Dec  8 21:23:47 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69273f1d

sys-boot/grub:0 - Force -O0 to work around bugs 564890, 566638

Package-Manager: portage-2.2.24

 .../grub/{grub-0.97-r15.ebuild => grub-0.97-r16.ebuild}   | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

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 068f68b..9da0d0e 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
 }

Reply via email to