]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Raise the minimum binutils version to 2.39
authorStefan Liebler <stli@linux.ibm.com>
Tue, 13 May 2025 11:28:55 +0000 (13:28 +0200)
committerStefan Liebler <stli@linux.ibm.com>
Wed, 14 May 2025 08:35:55 +0000 (10:35 +0200)
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
<https://sourceware.org/bugzilla/show_bug.cgi?id=28743>
Reviewed-by: Florian Weimer <fweimer@redhat.com>
INSTALL
NEWS
configure
configure.ac
manual/install.texi

diff --git a/INSTALL b/INSTALL
index d3200f271f1b604b538709a77827436908e89830..4d011f495cc0475ebe85afedaf02e576e6cbcb25 100644 (file)
--- 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 521fbd5e07d3311c5bc6914baf2cc12e1335dc06..d6c1502cc5d30dffcdcea6573776c371f21625c8 100644 (file)
--- 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
index 7cda641fcebeb06b03d71ac2df8519237e501614..7decd93baaf82d2a36882d86e7efa36309467b96 100755 (executable)
--- 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;;
 
index 0b0d8875ccd9b97685ac7cf008602b6b67ab1133..abd3b238d2f4a5fc35c83a26b2390312dd08f2c3 100644 (file)
@@ -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
index 7fcdda9146b2e152be03d575cdda6f323b6c3fee..f74c20faffbe316572e518ecc686ecd7d4a700e6 100644 (file)
@@ -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