[PATCH v2 1/3] Raise the minimum binutils version to 2.39

Stefan Liebler stli@linux.ibm.com
Tue May 13 11:28:55 GMT 2025


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>
---
 INSTALL             | 5 +----
 NEWS                | 2 ++
 configure           | 4 ++--
 configure.ac        | 4 ++--
 manual/install.texi | 4 +---
 5 files changed, 8 insertions(+), 11 deletions(-)

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
 
-- 
2.47.0



More information about the Libc-alpha mailing list