This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

binutils 2.22 requirement for glibc 2.21?


The minimum binutils was recently updated from 2.20 to 2.22.  It seems
that this had something to do with libmvec vector math functions, as
discussed here:

https://sourceware.org/ml/libc-alpha/2014-09/msg00586.html

although the actual requirements on binutils and the assembler were not
specified in that email thread as far as I can see.

Since the current tilegx release ships with binutils 2.21, this imposes
a slight additional awkwardness on building and testing glibc on that
platform, so I wondered what the actual rationale for 2.22 was, and if
it would be possible to back off 2.21 instead.  If there is a
requirement for 2.22 for Intel, perhaps it can be expressed as a
separate requirement just for that platform.

Certainly building with binutils 2.21 seems to work fine on tilegx
(although I'm still working through some other issues with -Werror, etc).

For completeness, here is the change to switch back to 2.21:

2014-12-19  Chris Metcalf  <cmetcalf@ezchip.com>

        * configure.ac: Backed off binutils minimum version to 2.21.
        * manual/install.texi (Tools for Compilation): Updated version
        number.
        * configure: Regenerated.
        * INSTALL: Likewise.

diff --git a/INSTALL b/INSTALL
index 35f70e0f5e4f..4ebe45c6e1a4 100644
--- a/INSTALL
+++ b/INSTALL
@@ -350,7 +350,7 @@ build the GNU C Library:
      Check the FAQ for any special compiler issues on particular
      platforms.

-   * GNU `binutils' 2.22 or later
+   * GNU `binutils' 2.21 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
diff --git a/configure b/configure
index cde55de15fe6..3c46d6ae5095 100755
--- a/configure
+++ b/configure
@@ -4481,7 +4481,7 @@ $as_echo "$libc_cv_prog_ld_gnu" >&6; }
 gnu_ld=$libc_cv_prog_ld_gnu


-# Accept binutils 2.22 or newer.
+# Accept binutils 2.21 or newer.
 for ac_prog in $AS
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -4533,7 +4533,7 @@ $as_echo_n "checking version of $AS... " >&6; }
   ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([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[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
+    2.1[0-9][0-9]*|2.2[1-9]*|2.[3-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;;

@@ -4596,7 +4596,7 @@ $as_echo_n "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[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
+    2.1[0-9][0-9]*|2.2[1-9]*|2.[3-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 f1e6394e7ee2..88bc993131c3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -907,14 +907,14 @@ AC_PROG_LN_S

 LIBC_PROG_BINUTILS

-# Accept binutils 2.22 or newer.
+# Accept binutils 2.21 or newer.
 AC_CHECK_PROG_VER(AS, $AS, --version,
                  [GNU assembler.* \([0-9]*\.[0-9.]*\)],
-                 [2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
+                 [2.1[0-9][0-9]*|2.2[1-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
                  AS=: critic_missing="$critic_missing as")
 AC_CHECK_PROG_VER(LD, $LD, --version,
                  [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
-                 [2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
+                 [2.1[0-9][0-9]*|2.2[1-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
                  LD=: critic_missing="$critic_missing ld")

 # These programs are version sensitive.
diff --git a/manual/install.texi b/manual/install.texi
index 2b9b57ca3221..713b658cf54b 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -393,7 +393,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.22 or later
+GNU @code{binutils} 2.21 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

--
Chris Metcalf, EZChip Semiconductor
http://www.ezchip.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]