commit: fd205ea13d9f7998b8de9b5311d0dcb1c278f76d
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 26 20:25:49 2017 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 20:26:23 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd205ea1
sys-boot/grub-0.97-r17: switch -nopie for -no-pie on gcc6+
As the -nopie option was something gentoo patched into gcc via the pie patches
used for hardened, and these patches are not applied to gcc6, the no-pie
patch used with grub:0 needs to be adjusted to hse the new flag when a newer
gcc is used.
Package-Manager: Portage-2.3.8, Repoman-2.3.3
sys-boot/grub/grub-0.97-r17.ebuild | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/sys-boot/grub/grub-0.97-r17.ebuild
b/sys-boot/grub/grub-0.97-r17.ebuild
index 038a541f879..b34191f7346 100644
--- a/sys-boot/grub/grub-0.97-r17.ebuild
+++ b/sys-boot/grub/grub-0.97-r17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# XXX: we need to review menu.lst vs grub.conf handling. We've been converting
@@ -67,6 +67,13 @@ src_prepare() {
"${S}"/grub/asmstub.c \
|| die
+ # gcc-6 and above doesnt have a '-nopie' option patched in, use
upstream's -no-pie
+ if (( $(gcc-major-version) > 5 )); then
+ sed -i 's/-nopie/-no-pie/' \
+ "${WORKDIR}"/patch/860_all_grub-0.97-pie.patch \
+ || die
+ fi
+
EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
# bug 564890, 566638
epatch
"${FILESDIR}"/grub-0.97-Add-esp-to-list-of-clobbered-registers.patch