summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-11-14 18:00:34 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-11-14 18:00:34 +0000
commit4863355ad52b71fecd7529928999074afdc4d51f (patch)
tree1ffd48230e61c99ad22b509ac1f390572dc3d6de
parentc1b0aadcdfd1b4b56588856cdc3197f4f145677d (diff)
downloadglibc-4863355ad52b71fecd7529928999074afdc4d51f.tar.gz
glibc-4863355ad52b71fecd7529928999074afdc4d51f.tar.xz
glibc-4863355ad52b71fecd7529928999074afdc4d51f.zip
Require GCC 4.6 or later to build glibc.
As discussed in the thread starting at
<https://sourceware.org/ml/libc-alpha/2014-10/msg00792.html>, and
continuing into November, this patch increases the minimum GCC version
for building glibc to 4.6 (there seemed to be no clear consensus for
4.7).  In particular, this allows us to use #pragma GCC diagnostic for
fine-grained warning control with -Werror (subject to establishing a
suitable policy for that use).  The documentation has a statement, as
requested, about the most recent GCC version tested for building
glibc, and I've updated <https://sourceware.org/glibc/wiki/Release> to
refer to updating that statement.  A NEWS entry is added for this
change, although previous such changes didn't get them.

Tested for x86_64 (testsuite, and that installed shared libraries are
unchanged by this patch).

	* configure.ac (libc_cv_compiler_ok): Require GCC 4.6 or later.
	* configure: Regenerated.
	* manual/install.texi (Tools for Compilation): Document a
	requirement of GCC 4.6 or later and that GCC 4.9 is the newest
	compiler verified to work.
	* INSTALL: Regenerated.
-rw-r--r--ChangeLog7
-rw-r--r--INSTALL9
-rw-r--r--NEWS4
-rwxr-xr-xconfigure2
-rw-r--r--configure.ac2
-rw-r--r--manual/install.texi9
6 files changed, 25 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 8448f28f23..496467e1c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2014-11-14  Joseph Myers  <joseph@codesourcery.com>
 
+	* configure.ac (libc_cv_compiler_ok): Require GCC 4.6 or later.
+	* configure: Regenerated.
+	* manual/install.texi (Tools for Compilation): Document a
+	requirement of GCC 4.6 or later and that GCC 4.9 is the newest
+	compiler verified to work.
+	* INSTALL: Regenerated.
+
 	* include/string.h [NO_MEMPCPY_STPCPY_REDIRECT] (mempcpy): Do not
 	redeclare with asm name.
 	[NO_MEMPCPY_STPCPY_REDIRECT] (stpcpy): Likewise.
diff --git a/INSTALL b/INSTALL
index 3130c2a27c..dac6178bac 100644
--- a/INSTALL
+++ b/INSTALL
@@ -329,10 +329,13 @@ build the GNU C Library:
      recommend GNU `make' version 3.79.  All earlier versions have
      severe bugs or lack features.
 
-   * GCC 4.4 or newer, GCC 4.6 recommended
+   * GCC 4.6 or newer
 
-     GCC 4.4 or higher is required; as of this writing, GCC 4.6 is the
-     compiler we advise to use to build the GNU C Library.
+     GCC 4.6 or higher is required.  In general it is recommended to use
+     the newest version of the compiler that is known to work for
+     building the GNU C Library, as newer compilers usually produce
+     better code.  As of release time, GCC 4.9 is the newest compiler
+     verified to work to build the GNU C Library.
 
      You can use whatever compiler you like to compile programs that use
      the GNU C Library.
diff --git a/NEWS b/NEWS
index c582c8e559..867d659afb 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,10 @@ Version 2.21
   17555, 17570, 17571, 17572, 17573, 17574, 17582, 17583, 17584, 17585,
   17589, 17594.
 
+* The minimum GCC version that can be used to build this version of the GNU
+  C Library is GCC 4.6.  Older GCC versions, and non-GNU compilers, can
+  still be used to compile programs using the GNU C Library.
+
 * New locales: tu_IN, bh_IN.
 
 Version 2.20
diff --git a/configure b/configure
index 3c161be38b..0cb54ec363 100755
--- a/configure
+++ b/configure
@@ -4929,7 +4929,7 @@ int
 main ()
 {
 
-#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)
+#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6)
 #error insufficient compiler
 #endif
   ;
diff --git a/configure.ac b/configure.ac
index a982407d48..b2c4b1fab8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -934,7 +934,7 @@ AC_CHECK_PROG_VER(AWK, gawk, --version,
 
 AC_CACHE_CHECK([if $CC is sufficient to build libc], libc_cv_compiler_ok, [
 AC_TRY_COMPILE([], [
-#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)
+#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6)
 #error insufficient compiler
 #endif],
 	       [libc_cv_compiler_ok=yes],
diff --git a/manual/install.texi b/manual/install.texi
index e1c2b9a2a4..1eafb6ec32 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -372,10 +372,13 @@ recommend GNU @code{make} version 3.79.  All earlier versions have severe
 bugs or lack features.
 
 @item
-GCC 4.4 or newer, GCC 4.6 recommended
+GCC 4.6 or newer
 
-GCC 4.4 or higher is required; as of this writing, GCC 4.6 is the
-compiler we advise to use to build @theglibc{}.
+GCC 4.6 or higher is required.  In general it is recommended to use
+the newest version of the compiler that is known to work for building
+@theglibc{}, as newer compilers usually produce better code.  As of
+release time, GCC 4.9 is the newest compiler verified to work to build
+@theglibc{}.
 
 You can use whatever compiler you like to compile programs that use
 @theglibc{}.