From: Stefan Liebler Date: Tue, 13 May 2025 11:28:55 +0000 (+0200) Subject: Raise the minimum binutils version to 2.39 X-Git-Tag: glibc-2.42~254 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e53ab20892771a9b7f26701c30a181c6cea5e4bd;p=thirdparty%2Fglibc.git Raise the minimum binutils version to 2.39 The recent commit 27b96e069aad17cefea9437542180bff448ac3a0 raises the minimum GCC version to 12.1 which was released in 2022. The current minimum bintuils version 2.25 was released end of 2014. This patch now raises the minimum binutils version to 2.39 which was also released in 2022. The hint for ARC is not needed anymore. In sysdeps/[alpha|hppa|csky]/configure.ac, PIE is unsupported with this comment: PIE builds fail on binutils 2.37 and earlier, see: https://sourceware.org/bugzilla/show_bug.cgi?id=28672 This patch keeps PIE unsupported and let the machine maintainers test and enable it later. In sysdeps/arm/configure.ac, there is a check whether TPOFF relocs with addends are assembled correctly, which is known to be broken in binutils 2.24 and 2.25. See: https://sourceware.org/bugzilla/show_bug.cgi?id=18383 This patch keeps the check as is and let the machine maintainers check if it still required. According to Florian Weimer: Having at least binutils 2.38 will allow us to assume that this linker bug is fixed: Bug 28743 - -z relro creats holes in the process image on GNU/Linux Reviewed-by: Florian Weimer --- diff --git a/INSTALL b/INSTALL index d3200f271f..4d011f495c 100644 --- a/INSTALL +++ b/INSTALL @@ -511,7 +511,7 @@ build the GNU C Library: Check the FAQ for any special compiler issues on particular platforms. - * GNU 'binutils' 2.25 or later + * GNU 'binutils' 2.39 or later You must use GNU 'binutils' (as and ld) to build the GNU C Library. No other assembler or linker has the necessary functionality at the @@ -522,9 +522,6 @@ build the GNU C Library: required to support '--update-section'. This option requires binutils 2.26 or newer. - ARC architecture needs 'binutils' 2.32 or higher for TLS related - fixes. - * GNU 'texinfo' 4.7 or later To correctly translate and install the Texinfo documentation you diff --git a/NEWS b/NEWS index 521fbd5e07..d6c1502cc5 100644 --- a/NEWS +++ b/NEWS @@ -36,6 +36,8 @@ Changes to build and runtime requirements: * GCC 12.1 or later is now required to build the GNU C Library. +* GNU Binutils 2.39 or later is now required to build the GNU C Library. + Security related changes: The following CVEs were fixed in this release, details of which can be diff --git a/configure b/configure index 7cda641fce..7decd93baa 100755 --- a/configure +++ b/configure @@ -5124,7 +5124,7 @@ fi -# Accept binutils 2.25 or newer. +# Accept binutils 2.39 or newer. libc_cv_with_lld=no case $($LD --version) in "GNU gold"*) @@ -5330,7 +5330,7 @@ printf %s "checking version of $LD... " >&6; } ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*) + 2.[1-9][0-9][0-9]*|2.39*|2.[4-9][0-9]*|[3-9].*|[1-9][0-9]*) ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; diff --git a/configure.ac b/configure.ac index 0b0d8875cc..abd3b238d2 100644 --- a/configure.ac +++ b/configure.ac @@ -522,7 +522,7 @@ AC_PROG_LN_S LIBC_PROG_BINUTILS -# Accept binutils 2.25 or newer. +# Accept binutils 2.39 or newer. libc_cv_with_lld=no case $($LD --version) in "GNU gold"*) @@ -543,7 +543,7 @@ case $($LD --version) in *) AC_CHECK_PROG_VER(LD, $LD, --version, [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], - [2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*], + [2.[1-9][0-9][0-9]*|2.39*|2.[4-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing GNU ld") ;; esac diff --git a/manual/install.texi b/manual/install.texi index 7fcdda9146..f74c20faff 100644 --- a/manual/install.texi +++ b/manual/install.texi @@ -552,7 +552,7 @@ You can use whatever compiler you like to compile programs that use Check the FAQ for any special compiler issues on particular platforms. @item -GNU @code{binutils} 2.25 or later +GNU @code{binutils} 2.39 or later You must use GNU @code{binutils} (as and ld) to build @theglibc{}. No other assembler or linker has the necessary functionality at the @@ -563,8 +563,6 @@ For PowerPC 64-bits little-endian (powerpc64le), @command{objcopy} is required to support @option{--update-section}. This option requires binutils 2.26 or newer. -ARC architecture needs @code{binutils} 2.32 or higher for TLS related fixes. - @item GNU @code{texinfo} 4.7 or later