From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22288 invoked by alias); 21 Nov 2012 21:08:22 -0000 Received: (qmail 22272 invoked by uid 22791); 21 Nov 2012 21:08:21 -0000 X-SWARE-Spam-Status: No, hits=-4.0 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 21 Nov 2012 21:08:16 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1TbHWp-00027A-MT from joseph_myers@mentor.com for libc-ports@sourceware.org; Wed, 21 Nov 2012 13:08:15 -0800 Received: from SVR-IES-FEM-01.mgc.mentorg.com ([137.202.0.104]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Wed, 21 Nov 2012 13:08:15 -0800 Received: from digraph.polyomino.org.uk (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.1.289.1; Wed, 21 Nov 2012 21:08:13 +0000 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.76) (envelope-from ) id 1TbHWm-00047p-Ag for libc-ports@sourceware.org; Wed, 21 Nov 2012 21:08:12 +0000 Date: Wed, 21 Nov 2012 21:08:00 -0000 From: "Joseph S. Myers" To: Subject: Avoid $(shell) in determining default ARM ABI Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org X-SW-Source: 2012-11/txt/msg00099.txt.bz2 I've applied this patch to avoid use of $(shell) when determining the default ARM ABI, instead generating a makefile fragment from the configure scripts, as previously requested by Roland. (I put the relevant code in the configure fragment with the existing test for the ARM ABI, although the only user is the Linux-specific makefile. That existing code is in fact only for the benefit of the shlib-versions file, which is in sysdeps/arm/shlib-versions although almost all the ports shlib-versions files are in fact Linux-specific despite their sysdeps locations.) 2012-11-21 Joseph Myers * sysdeps/arm/configure.in: Generate default-abi.make with definition of default-abi. * sysdeps/arm/configure: Regenerated. * sysdeps/unix/sysv/linux/arm/Makefile (default-abi-prog): Remove. (default-abi): Likewise. ($(common-objpfx)default-abi.make): Include. diff --git a/ports/sysdeps/arm/configure b/ports/sysdeps/arm/configure index 385f295..91239cd 100644 --- a/ports/sysdeps/arm/configure +++ b/ports/sysdeps/arm/configure @@ -197,4 +197,7 @@ $as_echo "$libc_cv_arm_pcs_vfp" >&6; } if test $libc_cv_arm_pcs_vfp = yes; then $as_echo "#define HAVE_ARM_PCS_VFP 1" >>confdefs.h + echo "default-abi := hard" > default-abi.make +else + echo "default-abi := soft" > default-abi.make fi diff --git a/ports/sysdeps/arm/configure.in b/ports/sysdeps/arm/configure.in index 7e91332..6073d0e 100644 --- a/ports/sysdeps/arm/configure.in +++ b/ports/sysdeps/arm/configure.in @@ -40,4 +40,7 @@ AC_CACHE_CHECK([whether the compiler is using the ARM hard-float ABI], ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)]) if test $libc_cv_arm_pcs_vfp = yes; then AC_DEFINE(HAVE_ARM_PCS_VFP) + echo "default-abi := hard" > default-abi.make +else + echo "default-abi := soft" > default-abi.make fi diff --git a/ports/sysdeps/unix/sysv/linux/arm/Makefile b/ports/sysdeps/unix/sysv/linux/arm/Makefile index bda3ea9..be7946e 100644 --- a/ports/sysdeps/unix/sysv/linux/arm/Makefile +++ b/ports/sysdeps/unix/sysv/linux/arm/Makefile @@ -70,25 +70,16 @@ LDFLAGS-tst-rfc3484-2 += $(common-objpfx)csu/libc-do-syscall.o LDFLAGS-tst-rfc3484-3 += $(common-objpfx)csu/libc-do-syscall.o endif -define default-abi-prog -echo '#ifdef __ARM_PCS_VFP'; -echo 'hard'; -echo '#else'; -echo 'soft'; -echo '#endif' -endef -default-abi := $(strip $(shell \ - ($(default-abi-prog)) | $(CC) $(CFLAGS) $(CPPFLAGS) -E -P -)) -ifeq ($(default-abi),hard) -# OK. -else -ifneq ($(default-abi),soft) -Unknown ABI, must be "hard" or "soft". -endif +# Get value of default-abi. +include $(common-objpfx)default-abi.make + +abi-variants := soft hard + +ifeq (,$(filter $(default-abi),$(abi-variants))) +Unknown ABI, must be one of $(abi-variants) endif abi-includes := -abi-variants := soft hard abi-soft-options := -U__ARM_PCS_VFP abi-soft-condition := !defined __ARM_PCS_VFP abi-soft-ld-soname := ld-linux.so.3 -- Joseph S. Myers joseph@codesourcery.com