From 10081a32eec9e4d4658e3536a05b4a31023f907d Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 23:28:53 +0100 Subject: [PATCH] patched to fix modules sizes with binutils >= 2.36 (see also https://bugs.funtoo.org/browse/FL-8245 ) [release 2.04-4mamba;Sun Jul 03 2022] --- grub-2.04-binutils-2.36.patch | 44 +++++++++++++++++++ ...ilence-loading-linux-initrd-messages.patch | 18 ++++++++ grub.spec | 16 ++++--- 3 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 grub-2.04-binutils-2.36.patch create mode 100644 grub-2.06-silence-loading-linux-initrd-messages.patch diff --git a/grub-2.04-binutils-2.36.patch b/grub-2.04-binutils-2.36.patch new file mode 100644 index 0000000..5cb3270 --- /dev/null +++ b/grub-2.04-binutils-2.36.patch @@ -0,0 +1,44 @@ +From 5cea201f288246488e2189c49d969d00ebec2898 Mon Sep 17 00:00:00 2001 +From: Michael Chang +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 +--- + 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/grub-2.06-silence-loading-linux-initrd-messages.patch b/grub-2.06-silence-loading-linux-initrd-messages.patch new file mode 100644 index 0000000..986c1e9 --- /dev/null +++ b/grub-2.06-silence-loading-linux-initrd-messages.patch @@ -0,0 +1,18 @@ +--- grub-2.06/util/grub.d/10_linux.in.orig 2022-07-02 12:16:56.107567186 +0200 ++++ grub-2.06/util/grub.d/10_linux.in 2022-07-02 12:17:13.583436240 +0200 +@@ -140,7 +140,6 @@ + fi + message="$(gettext_printf "Loading Linux %s ..." ${version})" + sed "s/^/$submenu_indentation/" << EOF +- echo '$(echo "$message" | grub_quote)' + linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} + EOF + if test -n "${initrd}" ; then +@@ -151,7 +150,6 @@ + initrd_path="${initrd_path} ${rel_dirname}/${i}" + done + sed "s/^/$submenu_indentation/" << EOF +- echo '$(echo "$message" | grub_quote)' + initrd $(echo $initrd_path) + EOF + fi diff --git a/grub.spec b/grub.spec index 4b7232c..e34804f 100644 --- a/grub.spec +++ b/grub.spec @@ -4,7 +4,7 @@ Name: grub Epoch: 2 Version: 2.04 -Release: 2mamba +Release: 4mamba Summary: A Multiboot boot loader derived from GRUB, the GRand Unified Bootloader Group: System/Kernel and Hardware Vendor: openmamba @@ -32,17 +32,15 @@ Patch11: grub-2.00-gcc-4.5.patch Patch12: grub-2.02_beta3-openmamba-default-nomodeset.patch Patch13: grub-2.02-silent-boot.patch Patch14: grub-2.04-fix-enable-nls-install-locale-dir.patch +Patch15: grub-2.06-silence-loading-linux-initrd-messages.patch +Patch16: grub-2.04-binutils-2.36.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel -BuildRequires: libbzip2-devel BuildRequires: libdevmapper-devel BuildRequires: libfreetype-devel BuildRequires: libfuse-devel -BuildRequires: libharfbuzz-devel BuildRequires: liblzma-devel -BuildRequires: libpng-devel -BuildRequires: libz-devel BuildRequires: libzfs-devel ## AUTOBUILDREQ-END BuildRequires: gettext-devel @@ -106,6 +104,8 @@ This package contains the efi boot files needed to boot according to EFI standar %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 +%patch16 -p1 -b .binutils-2.36 gunzip -c %{SOURCE1} > unifont.bdf @@ -372,6 +372,12 @@ fi %endif %changelog +* Sun Jul 03 2022 Silvan Calarco 2.04-4mamba +- patched to fix modules sizes with binutils >= 2.36 (see also https://bugs.funtoo.org/browse/FL-8245 ) + +* Sat Jul 02 2022 Silvan Calarco 2.04-3mamba +- patched to silence loading linux and initrd messages + * Sun Dec 22 2019 Silvan Calarco 2.04-2mamba - patched to fix installation of locales in /boot/grub/locale directory