From patchwork Fri Dec 19 19:48:32 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Metcalf X-Patchwork-Id: 4367 Received: (qmail 25610 invoked by alias); 19 Dec 2014 19:48:52 -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 25589 invoked by uid 89); 19 Dec 2014 19:48:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL, BAYES_40, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 X-HELO: emea01-db3-obe.outbound.protection.outlook.com Message-ID: <54948110.1080700@ezchip.com> Date: Fri, 19 Dec 2014 14:48:32 -0500 From: Chris Metcalf User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: GLIBC Devel , Andrew Senkevich Subject: binutils 2.22 requirement for glibc 2.21? X-ClientProxiedBy: BLUPR11CA0072.namprd11.prod.outlook.com (10.141.30.40) To AM3PR02MB0533.eurprd02.prod.outlook.com (25.160.6.139) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=cmetcalf@ezchip.com; X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB0533; X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004); SRVR:AM3PR02MB0533; X-Forefront-PRVS: 0430FA5CB7 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(6009001)(377424004)(189002)(199003)(83506001)(19580395003)(19580405001)(15975445007)(92566001)(4396001)(31966008)(97736003)(77096005)(68736005)(50986999)(62966003)(575784001)(77156002)(86362001)(64126003)(106356001)(50466002)(99396003)(105586002)(23676002)(229853001)(107886001)(87976001)(117636001)(107046002)(64706001)(122386002)(36756003)(40100003)(65816999)(42186005)(99136001)(87266999)(21056001)(101416001)(66066001)(20776003)(120916001)(59896002)(65956001)(65806001)(46102003)(54356999)(62816006)(18886065003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR02MB0533; H:[10.7.0.239]; FPR:; SPF:None; MLV:sfv; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: ezchip.com does not designate permitted sender hosts) X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:; SRVR:AM3PR02MB0533; X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2014 19:48:43.2863 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR02MB0533 The minimum binutils was recently updated from 2.20 to 2.22. It seems that this had something to do with libmvec vector math functions, as discussed here: https://sourceware.org/ml/libc-alpha/2014-09/msg00586.html although the actual requirements on binutils and the assembler were not specified in that email thread as far as I can see. Since the current tilegx release ships with binutils 2.21, this imposes a slight additional awkwardness on building and testing glibc on that platform, so I wondered what the actual rationale for 2.22 was, and if it would be possible to back off 2.21 instead. If there is a requirement for 2.22 for Intel, perhaps it can be expressed as a separate requirement just for that platform. Certainly building with binutils 2.21 seems to work fine on tilegx (although I'm still working through some other issues with -Werror, etc). For completeness, here is the change to switch back to 2.21: 2014-12-19 Chris Metcalf * configure.ac: Backed off binutils minimum version to 2.21. * manual/install.texi (Tools for Compilation): Updated version number. * configure: Regenerated. * INSTALL: Likewise. diff --git a/INSTALL b/INSTALL index 35f70e0f5e4f..4ebe45c6e1a4 100644 --- a/INSTALL +++ b/INSTALL @@ -350,7 +350,7 @@ build the GNU C Library: Check the FAQ for any special compiler issues on particular platforms. - * GNU `binutils' 2.22 or later + * GNU `binutils' 2.21 or later You must use GNU `binutils' (as and ld) to build the GNU C Library. No other assembler or linker has the necessary functionality at the diff --git a/configure b/configure index cde55de15fe6..3c46d6ae5095 100755 --- a/configure +++ b/configure @@ -4481,7 +4481,7 @@ $as_echo "$libc_cv_prog_ld_gnu" >&6; } gnu_ld=$libc_cv_prog_ld_gnu -# Accept binutils 2.22 or newer. +# Accept binutils 2.21 or newer. for ac_prog in $AS do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -4533,7 +4533,7 @@ $as_echo_n "checking version of $AS... " >&6; } ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*) + 2.1[0-9][0-9]*|2.2[1-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*) ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; @@ -4596,7 +4596,7 @@ $as_echo_n "checking version of $LD... " >&6; } ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*) + 2.1[0-9][0-9]*|2.2[1-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*) ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; diff --git a/configure.ac b/configure.ac index f1e6394e7ee2..88bc993131c3 100644 --- a/configure.ac +++ b/configure.ac @@ -907,14 +907,14 @@ AC_PROG_LN_S LIBC_PROG_BINUTILS -# Accept binutils 2.22 or newer. +# Accept binutils 2.21 or newer. AC_CHECK_PROG_VER(AS, $AS, --version, [GNU assembler.* \([0-9]*\.[0-9.]*\)], - [2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*], + [2.1[0-9][0-9]*|2.2[1-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*], AS=: critic_missing="$critic_missing as") AC_CHECK_PROG_VER(LD, $LD, --version, [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], - [2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*], + [2.1[0-9][0-9]*|2.2[1-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing ld") # These programs are version sensitive. diff --git a/manual/install.texi b/manual/install.texi index 2b9b57ca3221..713b658cf54b 100644 --- a/manual/install.texi +++ b/manual/install.texi @@ -393,7 +393,7 @@ You can use whatever compiler you like to compile programs that use Check the FAQ for any special compiler issues on particular platforms. @item -GNU @code{binutils} 2.22 or later +GNU @code{binutils} 2.21 or later You must use GNU @code{binutils} (as and ld) to build @theglibc{}. No other assembler or linker has the necessary functionality at the