about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-12-21 17:53:40 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-12-21 17:53:40 +0000
commit192963be49678b48f60218f1f794991cdd9fe472 (patch)
treede9988c14e213591d5cf2a1b97092454516b6d22
parentc0e82f117357a941e4d40fcc08babbd6a3c3a1b5 (diff)
downloadglibc-192963be49678b48f60218f1f794991cdd9fe472.tar.gz
glibc-192963be49678b48f60218f1f794991cdd9fe472.tar.xz
glibc-192963be49678b48f60218f1f794991cdd9fe472.zip
Require GCC 5 or later to build glibc (bug 23993).
We know that building glibc with GCC 4.9 is broken on various
platforms (bug 23993).  As it's more than a year since we last
increased the minimum GCC version to build glibc, this patch changes
the requirement to be GCC 5 or later (indeed, based on 4.9 having been
required for building 2.26, it would be consistent in terms of timing
to require GCC 6 or later from the 2.30 release onwards).  It
deliberately just updates the configure test and corresponding
documentation, leaving removal of no-longer-needed __GNUC_PREREQ tests
for a separate patch.

In the NEWS entry, the requirement for a newer GCC version for
powerpc64le is reiterated (as in the entry for the 4.9 requirement in
2.26) to avoid suggesting the version requirement there has gone down.
(If that version goes up further as part of support for binary128 long
double, of course the wording would change at that time.)

Tested for x86_64.

	[BZ #23993]
	* configure.ac (libc_cv_compiler_ok): Require GCC 5 or later.
	* configure: Regenerated.
	* manual/install.texi (Tools for Compilation): Update minimum GCC
	version.
	* INSTALL: Regenerated.
-rw-r--r--ChangeLog9
-rw-r--r--INSTALL4
-rw-r--r--NEWS6
-rwxr-xr-xconfigure2
-rw-r--r--configure.ac2
-rw-r--r--manual/install.texi4
6 files changed, 21 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 20f69c9e38..55a10b8bc8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2018-12-21  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #23993]
+	* configure.ac (libc_cv_compiler_ok): Require GCC 5 or later.
+	* configure: Regenerated.
+	* manual/install.texi (Tools for Compilation): Update minimum GCC
+	version.
+	* INSTALL: Regenerated.
+
 2018-12-21  Istvan Kurucsai <pistukem@gmail.com>
 
 	* malloc/malloc.c (munmap_chunk): Verify chunk alignment.
diff --git a/INSTALL b/INSTALL
index 268b7d63fa..672eb40640 100644
--- a/INSTALL
+++ b/INSTALL
@@ -459,9 +459,9 @@ build the GNU C Library:
      As of relase time, GNU 'make' 4.2.1 is the newest verified to work
      to build the GNU C Library.
 
-   * GCC 4.9 or newer
+   * GCC 5 or newer
 
-     GCC 4.9 or higher is required.  In general it is recommended to use
+     GCC 5 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 8.1.1 is the newest compiler
diff --git a/NEWS b/NEWS
index 300e978de6..cd29ec7c81 100644
--- a/NEWS
+++ b/NEWS
@@ -72,6 +72,12 @@ Changes to build and runtime requirements:
 
 * Python 3.4 or later is required to build the GNU C Library.
 
+* On most architectures, GCC 5 or later is required to build the GNU C
+  Library.  (On powerpc64le, GCC 6.2 or later is still required, as before.)
+
+  Older GCC versions and non-GNU compilers are still supported when
+  compiling programs that use the GNU C Library.
+
 Security related changes:
 
   CVE-2018-19591: A file descriptor leak in if_nametoindex can lead to a
diff --git a/configure b/configure
index 535e2f62e0..101dfddf37 100755
--- a/configure
+++ b/configure
@@ -5119,7 +5119,7 @@ int
 main ()
 {
 
-#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9)
+#if !defined __GNUC__ || __GNUC__ < 5
 #error insufficient compiler
 #endif
   ;
diff --git a/configure.ac b/configure.ac
index 6cc10ede98..46a74687a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1017,7 +1017,7 @@ AC_CHECK_PROG_VER(BISON, bison, --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__ < 9)
+#if !defined __GNUC__ || __GNUC__ < 5
 #error insufficient compiler
 #endif],
 	       [libc_cv_compiler_ok=yes],
diff --git a/manual/install.texi b/manual/install.texi
index 67e1e10e91..2a87a2725a 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -499,9 +499,9 @@ As of relase time, GNU @code{make} 4.2.1 is the newest verified to work
 to build @theglibc{}.
 
 @item
-GCC 4.9 or newer
+GCC 5 or newer
 
-GCC 4.9 or higher is required.  In general it is recommended to use
+GCC 5 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 8.1.1 is the newest compiler verified to work to build