From a451ee33afe03b8c16a0d166be380182b9587f59 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 21 Nov 2012 21:04:33 +0000 Subject: [PATCH] Avoid $(shell) in determining default ARM ABI. --- ports/ChangeLog.arm | 7 +++++++ ports/sysdeps/arm/configure | 3 +++ ports/sysdeps/arm/configure.in | 3 +++ ports/sysdeps/unix/sysv/linux/arm/Makefile | 23 +++++++---------------- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index 2a56a9f..66cc710 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,5 +1,12 @@ 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. + [BZ #14866] * sysdeps/arm/fesetenv.c (__fesetenv): Test whether bits for trapping exceptions were successfully set for FE_NOMASK_ENV. 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 -- 2.7.4