[packages/grub2] Rel 3; revert commit causing '/lib/grub/i386-pc/kernel.img is miscompiled: its start address is 0x90

arekm arekm at pld-linux.org
Tue Mar 3 12:44:35 CET 2026


commit 5d5a77e16e51201cadbb1bad6b5eabfada179dde
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue Mar 3 12:44:09 2026 +0100

    Rel 3; revert commit causing '/lib/grub/i386-pc/kernel.img is miscompiled: its start address is 0x9074 instead of 0x9000: ld.gold bug?

 grub2.spec       |  4 +++-
 image-base.patch | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 1 deletion(-)
---
diff --git a/grub2.spec b/grub2.spec
index fd55654..57a8a00 100644
--- a/grub2.spec
+++ b/grub2.spec
@@ -144,7 +144,7 @@ Summary(pl.UTF-8):	GRUB2 - bootloader dla x86 i ppc
 Summary(pt_BR.UTF-8):	Gerenciador de inicialização GRUB2
 Name:		grub2
 Version:	2.14
-Release:	2
+Release:	3
 License:	GPL v2
 Group:		Base
 Source0:	https://ftp.gnu.org/gnu/grub/grub-%{version}.tar.xz
@@ -165,6 +165,7 @@ Patch9:		just-say-linux.patch
 Patch10:	ignore-kernel-symlinks.patch
 Patch11:	choose-preferred-initrd.patch
 Patch12:	%{name}-cfg.patch
+Patch13:	image-base.patch
 
 Patch15:	x32.patch
 URL:		http://www.gnu.org/software/grub/
@@ -538,6 +539,7 @@ Motyw starfield dla GRUB-a.
 %patch -P10 -p1
 %patch -P11 -p1
 %patch -P12 -p0
+%patch -P13 -p1
 
 %patch -P15 -p1
 
diff --git a/image-base.patch b/image-base.patch
new file mode 100644
index 0000000..c60e919
--- /dev/null
+++ b/image-base.patch
@@ -0,0 +1,57 @@
+; revert https://www.mail-archive.com/grub-devel%40gnu.org/msg43001.html
+diff --git b/acinclude.m4 a/acinclude.m4
+index 70c1912f8..fa7840f09 100644
+--- b/acinclude.m4
++++ a/acinclude.m4
+@@ -79,11 +79,6 @@ AC_DEFUN([grub_PROG_OBJCOPY_ABSOLUTE],
+ [AC_MSG_CHECKING([whether ${TARGET_OBJCOPY} works for absolute addresses])
+ AC_CACHE_VAL(grub_cv_prog_objcopy_absolute,
+ [cat > conftest.c <<\EOF
+-asm (
+-    ".globl start, _start, __start\n"
+-    ".ifdef cmain; .set start = _start = __start = cmain\n.endif\n"
+-    ".ifdef _cmain; .set start = _start = __start = _cmain\n.endif\n"
+-);
+ void cmain (void);
+ void
+ cmain (void)
+diff --git b/configure.ac a/configure.ac
+index a282bf7bf..17937baf4 100644
+--- b/configure.ac
++++ a/configure.ac
+@@ -1461,6 +1461,7 @@ elif test x$grub_cv_target_cc_link_format = x-mi386pe || test x$grub_cv_target_c
+   TARGET_IMG_LDSCRIPT='$(top_srcdir)'"/conf/i386-cygwin-img-ld.sc"
+   TARGET_IMG_LDFLAGS="-Wl,-T${TARGET_IMG_LDSCRIPT}"
+   TARGET_IMG_LDFLAGS_AC="-Wl,-T${srcdir}/conf/i386-cygwin-img-ld.sc"
++  TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"
+   TARGET_IMG_CFLAGS=
+ else
+   TARGET_APPLE_LINKER=0
+@@ -1468,6 +1469,7 @@ else
+   TARGET_IMG_LDSCRIPT=
+   TARGET_IMG_LDFLAGS='-Wl,-N'
+   TARGET_IMG_LDFLAGS_AC='-Wl,-N'
++  TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"
+   TARGET_IMG_CFLAGS=
+ fi
+ 
+@@ -1800,18 +1800,6 @@ grub_PROG_TARGET_CC
+ m4_ifndef([AX_CHECK_LINK_FLAG], [m4_fatal([autoconf-archive is missing. You must install it to generate the configure script.])])
+ 
+ if test "x$TARGET_APPLE_LINKER" != x1 ; then
+-AX_CHECK_LINK_FLAG([-Wl,--image-base,0x400000],
+-    [TARGET_IMG_BASE_LDOPT="-Wl,--image-base"],
+-    [TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"],
+-    [],
+-    [AC_LANG_SOURCE([
+-asm (".globl start; start:");
+-asm (".globl _start; _start:");
+-asm (".globl __start; __start:");
+-void __main (void);
+-void __main (void) {}
+-int main (void);
+-    ])])
+ grub_PROG_OBJCOPY_ABSOLUTE
+ fi
+ grub_PROG_LD_BUILD_ID_NONE
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/grub2.git/commitdiff/5d5a77e16e51201cadbb1bad6b5eabfada179dde



More information about the pld-cvs-commit mailing list