[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