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

Reply via email to