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
}