mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-09 00:10:21 +03:00
Merge updates from master
This commit is contained in:
@@ -1,83 +0,0 @@
|
||||
https://bugs.gentoo.org/965424
|
||||
|
||||
From 1a5417f39a0ccefcdd5440f2a67f84d2d2e26960 Mon Sep 17 00:00:00 2001
|
||||
From: Nicholas Vinson <nvinson234@gmail.com>
|
||||
Date: Tue, 18 Nov 2025 19:38:07 -0500
|
||||
Subject: [PATCH] configure: Check linker for --image-base support
|
||||
|
||||
In several scenarios, configure tests assume it's safe to use
|
||||
"-Wl,-Ttext,<address>", but starting with ld.lld-21, blindly using that
|
||||
flag may result in configure-test failures due to ld.lld failing to
|
||||
link. The failure is because ld.lld-21 no longer allows the specified
|
||||
address is less than the base address.
|
||||
|
||||
However, ld.lld-21+ and ld.bfd-2.44+ both provide support for the
|
||||
--image-base flag making it preferable over the older -Ttext flag.
|
||||
|
||||
Fixes: https://savannah.gnu.org/bugs/?67662
|
||||
|
||||
Signed-off-by: Nicholas Vinson <nvinson234@gmail.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
---
|
||||
acinclude.m4 | 5 +++++
|
||||
configure.ac | 14 ++++++++++++--
|
||||
2 files changed, 17 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/acinclude.m4 b/acinclude.m4
|
||||
index fa7840f09..70c1912f8 100644
|
||||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -79,6 +79,11 @@ 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 a/configure.ac b/configure.ac
|
||||
index 17937baf4..a282bf7bf 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1461,7 +1461,6 @@ 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
|
||||
@@ -1469,7 +1468,6 @@ 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
|
||||
|
||||
@@ -1795,6 +1793,18 @@ LIBS=""
|
||||
grub_ASM_USCORE
|
||||
grub_PROG_TARGET_CC
|
||||
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
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -24,7 +24,6 @@ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/grub.asc
|
||||
|
||||
if [[ -n ${GRUB_AUTORECONF} ]]; then
|
||||
inherit autotools
|
||||
BDEPEND+=" dev-build/autoconf-archive"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 eapi9-ver flag-o-matic multibuild optfeature
|
||||
@@ -34,7 +33,6 @@ DESCRIPTION="GNU GRUB boot loader"
|
||||
HOMEPAGE="https://www.gnu.org/software/grub/"
|
||||
|
||||
MY_P=${P}
|
||||
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
inherit verify-sig
|
||||
|
||||
@@ -54,7 +52,7 @@ if [[ ${PV} != 9999 ]]; then
|
||||
"
|
||||
S=${WORKDIR}/${P%_*}
|
||||
fi
|
||||
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-grub )"
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-grub )"
|
||||
KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
|
||||
else
|
||||
inherit git-r3
|
||||
@@ -69,7 +67,6 @@ PATCHES=(
|
||||
"${WORKDIR}"/grub-2.12-bash-completion.patch
|
||||
"${FILESDIR}"/grub-2.12-zfs-zstd-compression-support.patch
|
||||
"${FILESDIR}"/grub-2.12-fix-for-bash-completion-_split_longopt.patch
|
||||
"${FILESDIR}"/grub-2.12-image-base.patch
|
||||
)
|
||||
|
||||
DEJAVU=dejavu-sans-ttf-2.37
|
||||
@@ -26,7 +26,6 @@ WANT_LIBTOOL=none
|
||||
|
||||
if [[ -n ${GRUB_AUTORECONF} ]]; then
|
||||
inherit autotools
|
||||
BDEPEND+=" dev-build/autoconf-archive"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 eapi9-ver flag-o-matic multibuild optfeature
|
||||
@@ -36,7 +35,6 @@ DESCRIPTION="GNU GRUB boot loader"
|
||||
HOMEPAGE="https://www.gnu.org/software/grub/"
|
||||
|
||||
MY_P=${P}
|
||||
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
|
||||
# The quote style is to work with <=bash-4.2 and >=bash-4.3 #503860
|
||||
@@ -53,7 +51,7 @@ if [[ ${PV} != 9999 ]]; then
|
||||
"
|
||||
S=${WORKDIR}/${P%_*}
|
||||
fi
|
||||
BDEPEND+="
|
||||
BDEPEND="
|
||||
verify-sig? (
|
||||
sec-keys/openpgp-keys-grub
|
||||
sec-keys/openpgp-keys-unifont
|
||||
@@ -70,7 +68,6 @@ PATCHES=(
|
||||
"${FILESDIR}"/grub-2.02_beta2-KERNEL_GLOBS.patch
|
||||
"${FILESDIR}"/grub-2.06-test-words.patch
|
||||
"${FILESDIR}"/grub-2.14_rc1-configure.ac-avoid-bashisms.patch
|
||||
"${FILESDIR}"/grub-2.12-image-base.patch
|
||||
)
|
||||
|
||||
DEJAVU_VER=2.37
|
||||
@@ -26,7 +26,6 @@ WANT_LIBTOOL=none
|
||||
|
||||
if [[ -n ${GRUB_AUTORECONF} ]]; then
|
||||
inherit autotools
|
||||
BDEPEND+=" dev-build/autoconf-archive"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 eapi9-ver flag-o-matic multibuild optfeature
|
||||
@@ -36,7 +35,6 @@ DESCRIPTION="GNU GRUB boot loader"
|
||||
HOMEPAGE="https://www.gnu.org/software/grub/"
|
||||
|
||||
MY_P=${P}
|
||||
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
|
||||
# The quote style is to work with <=bash-4.2 and >=bash-4.3 #503860
|
||||
@@ -53,7 +51,7 @@ if [[ ${PV} != 9999 ]]; then
|
||||
"
|
||||
S=${WORKDIR}/${P%_*}
|
||||
fi
|
||||
BDEPEND+="
|
||||
BDEPEND="
|
||||
verify-sig? (
|
||||
sec-keys/openpgp-keys-grub
|
||||
sec-keys/openpgp-keys-unifont
|
||||
|
||||
Reference in New Issue
Block a user