From patchwork Mon Jun 19 15:27:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 21087 Received: (qmail 47752 invoked by alias); 19 Jun 2017 15:27:47 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 47739 invoked by uid 89); 19 Jun 2017 15:27:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy=Tools, consequent X-HELO: relay1.mentorg.com Date: Mon, 19 Jun 2017 15:27:38 +0000 From: Joseph Myers To: Subject: Require GCC 4.9 or later for building glibc Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) 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 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. 2017-06-19 Joseph Myers * 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. diff --git a/INSTALL b/INSTALL index a2f5a40..71af35b 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 9ee2218..f81d02f 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 8390f2b..97a2dad 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 4c0a18e..16e97d3 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 cbc9128..65174a8 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