about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-06-19 16:33:00 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-06-19 16:34:05 +0000
commit4add86749a31f302674599b69d2eea691d69341a (patch)
tree68755949e4e394156f806e072463b3f3af64d278
parentf6110a8fee2ca36f8e2d2abecf3cba9fa7b8ea7d (diff)
downloadglibc-4add86749a31f302674599b69d2eea691d69341a.tar.gz
glibc-4add86749a31f302674599b69d2eea691d69341a.tar.xz
glibc-4add86749a31f302674599b69d2eea691d69341a.zip
Require GCC 4.9 or later for building glibc.
This patch makes configure require GCC 4.9 or later for building
glibc, and documents that requirement.  Requiring GCC 4.9 or later
allows use of _Generic (as in tzcode).  It would allow <stdatomic.h>
and _Atomic to be used as well if desired, although we need to avoid
any libatomic dependencies on any platforms.  This patch is explicitly
the minimum to implement a new version requirement, with any
consequent cleanups of conditional code (not in installed headers or
files shared with gnulib etc.) to be done separately.

Tested for x86_64.

	* configure.ac (libc_cv_compiler_ok): Require GCC 4.9 or later.
	* configure: Regenerated.
	* manual/install.texi (Tools for Compilation): Document
	requirement for GCC 4.9 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 3b61f167d2..b3d39a23fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2017-06-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.ac (libc_cv_compiler_ok): Require GCC 4.9 or later.
+	* configure: Regenerated.
+	* manual/install.texi (Tools for Compilation): Document
+	requirement for GCC 4.9 or later.
+	* INSTALL: Regenerated.
+
 2017-06-19  Florian Weimer  <fweimer@redhat.com>
 
 	[BZ #21624]
diff --git a/INSTALL b/INSTALL
index a2f5a40b17..71af35b1eb 100644
--- a/INSTALL
+++ b/INSTALL
@@ -420,9 +420,9 @@ build the GNU C Library:
      recommend GNU 'make' version 3.79.  All earlier versions have
      severe bugs or lack features.
 
-   * GCC 4.7 or newer
+   * GCC 4.9 or newer
 
-     GCC 4.7 or higher is required.  In general it is recommended to use
+     GCC 4.9 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 6.3 is the newest compiler
diff --git a/NEWS b/NEWS
index 9ee22185e8..f81d02f1cb 100644
--- a/NEWS
+++ b/NEWS
@@ -107,6 +107,10 @@ Version 2.26
   PTRACE_DISABLE_TE and PTRACE_TE_ABORT_RAND were added as those are supported
   by the s390 kernel.
 
+* The minimum GCC version that can be used to build this version of the GNU
+  C Library is GCC 4.9.  Older GCC versions, and non-GNU compilers, can
+  still be used to compile programs using the GNU C Library.
+
 Security related changes:
 
 * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,
diff --git a/configure b/configure
index 8390f2b86e..97a2dadf2d 100755
--- a/configure
+++ b/configure
@@ -5058,7 +5058,7 @@ int
 main ()
 {
 
-#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
+#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9)
 #error insufficient compiler
 #endif
   ;
diff --git a/configure.ac b/configure.ac
index 4c0a18edd9..16e97d3930 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1105,7 +1105,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__ < 7)
+#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9)
 #error insufficient compiler
 #endif],
 	       [libc_cv_compiler_ok=yes],
diff --git a/manual/install.texi b/manual/install.texi
index cbc912817a..65174a8b2e 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -467,9 +467,9 @@ recommend GNU @code{make} version 3.79.  All earlier versions have severe
 bugs or lack features.
 
 @item
-GCC 4.7 or newer
+GCC 4.9 or newer
 
-GCC 4.7 or higher is required.  In general it is recommended to use
+GCC 4.9 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 6.3 is the newest compiler verified to work to build