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]

Require binutils 2.20 or later to build glibc


I tested building glibc on x86_64 with different binutils versions.  2.22, 
2.21.1a and 2.20.1a worked (I didn't test if the resulting glibc worked, 
but it built).  2.19.1a first failed with the configure logic problem 
described in <http://sourceware.org/ml/libc-alpha/2012-02/msg00603.html> 
meaning multi-arch was enabled though unsupported; with that patch or 
--disable-multi-arch, the build still failed, because 
gnu_indirect_function is used unconditionally for x86_64, e.g. in 
sysdeps/unix/sysv/linux/x86_64/time.c, not just for multi-arch (the case 
there is an IFUNC depending on kernel vDSO availability).

So releases before 2.20 won't work for x86_64, which means building with 
older versions is likely not to be particularly well tested even if there 
are other architectures for which a build succeeds.  So I propose 2.20 as 
a minimum version requirement for binutils for configure to enforce and 
the installation instructions to document.

binutils 2.20 was released in October 2009.

2012-02-24  Joseph Myers  <joseph@codesourcery.com>

	* configure.in (AS, LD): Require binutils 2.20 or later.
	* configure: Regenerated.
	* manual/install.texi (Tools for Compilation): Give binutils 2.20
	as required minimum version.
	* INSTALL: Regenerated.

diff --git a/configure.in b/configure.in
index af42c8a..38eb1a1 100644
--- a/configure.in
+++ b/configure.in
@@ -921,13 +921,13 @@ AC_PROG_LN_S
 LIBC_PROG_BINUTILS
 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
 
-# Accept binutils 2.13 or newer.
+# Accept binutils 2.20 or newer.
 AC_CHECK_PROG_VER(AS, $AS, --version,
 		  [GNU assembler.* \([0-9]*\.[0-9.]*\)],
-		  [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], AS=: critic_missing="$critic_missing as")
+		  [2.1[0-9][0-9]*|2.[2-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[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing ld")
+		  [2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing ld")
 
 # These programs are version sensitive.
 AC_CHECK_TOOL_PREFIX
diff --git a/manual/install.texi b/manual/install.texi
index 1656c5e..8e99e9f 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -331,7 +331,7 @@ floating-point support that may be triggered by the math library.
 Check the FAQ for any special compiler issues on particular platforms.
 
 @item
-GNU @code{binutils} 2.15 or later
+GNU @code{binutils} 2.20 or later
 
 You must use GNU @code{binutils} (as and ld) to build the GNU C library.
 No other assembler or linker has the necessary functionality at the

-- 
Joseph S. Myers
joseph@codesourcery.com


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