diff options
author | Mike Gilbert <floppym@gentoo.org> | 2021-09-23 14:47:53 -0400 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2021-09-23 14:47:53 -0400 |
commit | abe655fe66964de0a45e8d0c158bdf3958cdfd1c (patch) | |
tree | 7dad6a52cf1f9621ea1d4659dc770e9f7f7585d6 /sys-boot | |
parent | x11-wm/spectrwm: drop unused inherits (diff) | |
download | gentoo-abe655fe66964de0a45e8d0c158bdf3958cdfd1c.tar.gz gentoo-abe655fe66964de0a45e8d0c158bdf3958cdfd1c.tar.bz2 gentoo-abe655fe66964de0a45e8d0c158bdf3958cdfd1c.zip |
sys-boot/grub: fix xen build with binutils-2.36
Closes: https://bugs.gentoo.org/787221
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'sys-boot')
-rw-r--r-- | sys-boot/grub/files/grub-2.06-binutils-2.36.patch | 44 | ||||
-rw-r--r-- | sys-boot/grub/grub-2.06-r1.ebuild | 3 |
2 files changed, 46 insertions, 1 deletions
diff --git a/sys-boot/grub/files/grub-2.06-binutils-2.36.patch b/sys-boot/grub/files/grub-2.06-binutils-2.36.patch new file mode 100644 index 000000000000..5cb327003adb --- /dev/null +++ b/sys-boot/grub/files/grub-2.06-binutils-2.36.patch @@ -0,0 +1,44 @@ +From 5cea201f288246488e2189c49d969d00ebec2898 Mon Sep 17 00:00:00 2001 +From: Michael Chang <mchang@suse.com> +Date: Fri, 19 Feb 2021 17:40:43 +0800 +Subject: [PATCH] Fix build error in binutils 2.36 + +The build fails in binutils 2.36 + +[ 520s] cat kernel_syms.lst > syminfo.lst.new +[ 520s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: section .note.gnu.property VMA [0000000000400158,0000000000400187] overlaps section .bss VMA [000000000000f000,000000000041e1af] + +It is caused by assembler now generates the GNU property notes section +by default. Use the assmbler option -mx86-used-note=no to disable the +section from being generated to workaround the ensuing linker issue. + +Signed-off-by: Michael Chang <mchang@suse.com> +--- + configure.ac | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/configure.ac b/configure.ac +index fa8f74bb9..38ee5f579 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -836,6 +836,20 @@ if ( test "x$target_cpu" = xi386 || test "x$target_cpu" = xx86_64 ) && test "x$p + TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow" + fi + ++if ( test "x$target_cpu" = xi386 || test "x$target_cpu" = xx86_64 ); then ++ AC_CACHE_CHECK([whether -Wa,-mx86-used-note works], [grub_cv_cc_mx86_used_note], [ ++ CFLAGS="$TARGET_CFLAGS -Wa,-mx86-used-note=no -Werror" ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], ++ [grub_cv_cc_mx86_used_note=yes], ++ [grub_cv_cc_mx86_used_note=no]) ++ ]) ++ ++ if test "x$grub_cv_cc_mx86_used_note" = xyes; then ++ TARGET_CFLAGS="$TARGET_CFLAGS -Wa,-mx86-used-note=no" ++ TARGET_CCASFLAGS="$TARGET_CCASFLAGS -Wa,-mx86-used-note=no" ++ fi ++fi ++ + # GRUB doesn't use float or doubles at all. Yet some toolchains may decide + # that floats are a good fit to run instead of what's written in the code. + # Given that floating point unit is disabled (if present to begin with) diff --git a/sys-boot/grub/grub-2.06-r1.ebuild b/sys-boot/grub/grub-2.06-r1.ebuild index d80b215cc471..4224c4f643f1 100644 --- a/sys-boot/grub/grub-2.06-r1.ebuild +++ b/sys-boot/grub/grub-2.06-r1.ebuild @@ -17,10 +17,10 @@ EAPI=7 # corresponding variable in make.conf or the environment. if [[ ${PV} == 9999 ]]; then - GRUB_AUTORECONF=1 GRUB_BOOTSTRAP=1 fi +GRUB_AUTORECONF=1 PYTHON_COMPAT=( python{2_7,3_{6,7,8,9}} ) WANT_LIBTOOL=none @@ -55,6 +55,7 @@ PATCHES=( "${FILESDIR}"/gfxpayload.patch "${FILESDIR}"/grub-2.02_beta2-KERNEL_GLOBS.patch "${FILESDIR}"/grub-2.06-test-words.patch + "${FILESDIR}"/grub-2.06-binutils-2.36.patch ) DEJAVU=dejavu-sans-ttf-2.37 |