summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Granberg <zorry@gentoo.org>2016-05-21 19:57:34 +0200
committerMagnus Granberg <zorry@gentoo.org>2016-05-21 19:59:12 +0200
commit2e55308331d26b93a2dd2a0b6be1760db27e40d4 (patch)
tree31a69e951e8c731651e2ef5c6363ec8e8cbe44c5 /sys-boot/grub
parentnet-p2p/syncthing: remove old (vulnerable) versions (diff)
downloadgentoo-2e55308331d26b93a2dd2a0b6be1760db27e40d4.tar.gz
gentoo-2e55308331d26b93a2dd2a0b6be1760db27e40d4.tar.bz2
gentoo-2e55308331d26b93a2dd2a0b6be1760db27e40d4.zip
sys-boot/grub-2.02_beta3 Add fix for gcc-6.1.0[pie] #583042
Package-Manager: portage-2.2.27
Diffstat (limited to 'sys-boot/grub')
-rw-r--r--sys-boot/grub/files/2.02_beta3-gcc6-ld-no-pie.patch57
-rw-r--r--sys-boot/grub/grub-2.02_beta3-r1.ebuild1
2 files changed, 58 insertions, 0 deletions
diff --git a/sys-boot/grub/files/2.02_beta3-gcc6-ld-no-pie.patch b/sys-boot/grub/files/2.02_beta3-gcc6-ld-no-pie.patch
new file mode 100644
index 000000000000..0d8141544788
--- /dev/null
+++ b/sys-boot/grub/files/2.02_beta3-gcc6-ld-no-pie.patch
@@ -0,0 +1,57 @@
+2016-05-21 Magnus Granberg <zorry@gentoo.org>
+
+ #583042 sys-boot/grub-2.02_beta3-r1: building w/gcc-6[pie]: error:
+ x86_64-pc-linux-gnu/bin/ld: -r and -shared may not be used together
+
+ * acinclude.m4: Add -no-pie check.
+ * configure.ac: Add -no-pie to TARGET_LDFLAGS if needed.
+
+--- a/acinclude.m4 2015-11-11 20:56:52.000000000 +0100
++++ b/acinclude.m4 2016-05-17 00:08:22.000000000 +0200
+@@ -390,6 +390,24 @@ else
+ [fi]
+ ])
+
++dnl Check if the Linker supports `-no-pie'.
++AC_DEFUN([grub_CHECK_NO_PIE],
++[AC_MSG_CHECKING([whether linker accepts -no-pie])
++AC_CACHE_VAL(grub_cv_cc_ld_nopie,
++[save_LDFLAGS="$LDFLAGS"
++LDFLAGS="$LDFLAGS -no-pie"
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
++ [grub_cv_cc_ld_no_pie=yes],
++ [grub_cv_cc_ld_no_pie=no])
++LDFLAGS="$save_LDFLAGS"
++])
++AC_MSG_RESULT([$grub_cv_cc_ld_no_pie])
++nopie_possible=no
++if test "x$grub_cv_cc_ld_no_pie" = xyes ; then
++ nopie_possible=yes
++fi
++])
++
+ dnl Check if the C compiler supports `-fPIC'.
+ AC_DEFUN([grub_CHECK_PIC],[
+ [# Position independent executable.
+--- a/configure.ac 2016-02-27 13:40:56.000000000 +0100
++++ b/configure.ac 2016-05-17 00:57:29.471000000 +0200
+@@ -1184,13 +1184,18 @@ CFLAGS="$TARGET_CFLAGS"
+
+ # Position independent executable.
+ grub_CHECK_PIE
++grub_CHECK_NO_PIE
+ [# Need that, because some distributions ship compilers that include
+-# `-fPIE' in the default specs.
++# `-fPIE' and '-pie' in the default specs.
+ if [ x"$pie_possible" = xyes ]; then
+ TARGET_CFLAGS="$TARGET_CFLAGS -fno-PIE"
++fi
++if [ x"$nopie_possible" = xyes ] && [ x"$pie_possible" = xyes ]; then
++ TARGET_LDFLAGS="$TARGET_LDFLAGS -no-pie"
+ fi]
+
+ CFLAGS="$TARGET_CFLAGS"
++LDFLAGS="$TARGET_LDFLAGS"
+
+ # Position independent executable.
+ grub_CHECK_PIC
diff --git a/sys-boot/grub/grub-2.02_beta3-r1.ebuild b/sys-boot/grub/grub-2.02_beta3-r1.ebuild
index ab057948df5f..7fd67ee9e04f 100644
--- a/sys-boot/grub/grub-2.02_beta3-r1.ebuild
+++ b/sys-boot/grub/grub-2.02_beta3-r1.ebuild
@@ -35,6 +35,7 @@ PATCHES=(
"${FILESDIR}"/grub-2.02_beta2-KERNEL_GLOBS.patch
"${FILESDIR}"/2.02_beta3-10_linux-UUID.patch
"${FILESDIR}"/2.02_beta3-sysmacros.patch
+ "${FILESDIR}"/2.02_beta3-gcc6-ld-no-pie.patch
)
DEJAVU=dejavu-sans-ttf-2.35