aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-10-27 16:34:12 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-10-27 16:34:12 +0000
commitb08b42183537d91556ad8649717aa8e61e564207 (patch)
tree8b608c34d5cd4f36eb49b453e045d8219b7b305a
parent0062ace2292effc4135c15ea99b1931fea5e0203 (diff)
downloadglibc-b08b42183537d91556ad8649717aa8e61e564207.tar
glibc-b08b42183537d91556ad8649717aa8e61e564207.tar.gz
glibc-b08b42183537d91556ad8649717aa8e61e564207.tar.bz2
glibc-b08b42183537d91556ad8649717aa8e61e564207.zip
Require GCC 4.7 or later to build glibc.
This patch implements a requirement of GCC 4.7 or later to build glibc. This was discussed in the thread starting at <https://sourceware.org/ml/libc-alpha/2015-08/msg00851.html>. Concerns were expressed by Mike and David. At <https://sourceware.org/ml/libc-alpha/2015-10/msg00453.html> I have provided a 14-patch series showing in outline the cleanups facilitated by this version requirement, as requested by Mike (this patch is the first in that series, with the addition of a NEWS entry). Given the absence of further concerns or alternative proposals for criteria for updates to this version requirement as requested in <https://sourceware.org/ml/libc-alpha/2015-10/msg00065.html>, I am interpreting this as "absence of sustained opposition" under Carlos's definition at <https://sourceware.org/glibc/wiki/Consensus> and proposing this patch for inclusion in glibc. I'd like to remind people testing with 4.6 that if they move to testing with GCC 5 then it will probably be about four years before they need to update the compiler they use to test glibc again. Although on the principles of time-based updates I think a move to requiring binutils 2.23 would be reasonable, I'm not currently aware of any cleanups that would facilitate so am not proposing that at this time (but would expect to propose a move to requiring binutils 2.24 in a year's time, as that brings features such as AVX512 support that should allow some conditionals to be cleaned up). If someone thinks a move to requiring 2.23 would help clean things up for their architecture, please speak up. (And in general, I suspect there are lots of architecture-specific configure tests that could be removed on the basis of current GCC and binutils version requirements, given how I've found architecture-independent tests obsolete on the basis of version requirements going back 20 years.) Tested for x86_64 and x86 (testsuite, and that installed shared libraries are unchanged by the patch). * configure.ac (libc_cv_compiler_ok): Require GCC 4.7 or later. * configure: Regenerated. * manual/install.texi (Tools for Compilation): Document requirement for GCC 4.7 or later. * INSTALL: Regenerated.
-rw-r--r--ChangeLog8
-rw-r--r--INSTALL4
-rw-r--r--NEWS4
-rwxr-xr-xconfigure2
-rw-r--r--configure.ac2
-rw-r--r--manual/install.texi4
6 files changed, 18 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 29ec9125a2..d4af4ec086 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2015-10-27 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (libc_cv_compiler_ok): Require GCC 4.7 or later.
+ * configure: Regenerated.
+ * manual/install.texi (Tools for Compilation): Document
+ requirement for GCC 4.7 or later.
+ * INSTALL: Regenerated.
+
2015-10-27 Ludovic Courtès <ludo@gnu.org>
* locale/loadlocale.c (_nl_intern_locale_data): Change assertion
diff --git a/INSTALL b/INSTALL
index ddee6e1969..c70ea9f26f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -357,9 +357,9 @@ build the GNU C Library:
recommend GNU 'make' version 3.79. All earlier versions have
severe bugs or lack features.
- * GCC 4.6 or newer
+ * GCC 4.7 or newer
- GCC 4.6 or higher is required. In general it is recommended to use
+ GCC 4.7 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.2 is the newest compiler
diff --git a/NEWS b/NEWS
index e1d34e8c70..1122affd0d 100644
--- a/NEWS
+++ b/NEWS
@@ -36,6 +36,10 @@ Version 2.23
* Optimized string, wcsmbs and memory functions for IBM z13.
Implemented by Stefan Liebler.
+
+* The minimum GCC version that can be used to build this version of the GNU
+ C Library is GCC 4.7. Older GCC versions, and non-GNU compilers, can
+ still be used to compile programs using the GNU C Library.
Version 2.22
diff --git a/configure b/configure
index 45708b111b..8f4bb72118 100755
--- a/configure
+++ b/configure
@@ -4834,7 +4834,7 @@ int
main ()
{
-#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6)
+#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
#error insufficient compiler
#endif
;
diff --git a/configure.ac b/configure.ac
index 1be44f596e..ad5f3ccf51 100644
--- a/configure.ac
+++ b/configure.ac
@@ -976,7 +976,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__ < 6)
+#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
#error insufficient compiler
#endif],
[libc_cv_compiler_ok=yes],
diff --git a/manual/install.texi b/manual/install.texi
index f940d6572e..de9d270488 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -400,9 +400,9 @@ recommend GNU @code{make} version 3.79. All earlier versions have severe
bugs or lack features.
@item
-GCC 4.6 or newer
+GCC 4.7 or newer
-GCC 4.6 or higher is required. In general it is recommended to use
+GCC 4.7 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.2 is the newest compiler verified to work to build