Avoid $(shell) in determining default ARM ABI.
authorJoseph Myers <joseph@codesourcery.com>
Wed, 21 Nov 2012 21:04:33 +0000 (21:04 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 21 Nov 2012 21:04:33 +0000 (21:04 +0000)
ports/ChangeLog.arm
ports/sysdeps/arm/configure
ports/sysdeps/arm/configure.in
ports/sysdeps/unix/sysv/linux/arm/Makefile

index 2a56a9f..66cc710 100644 (file)
@@ -1,5 +1,12 @@
 2012-11-21  Joseph Myers  <joseph@codesourcery.com>
 
+       * 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.
index 385f295..91239cd 100644 (file)
@@ -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
index 7e91332..6073d0e 100644 (file)
@@ -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
index bda3ea9..be7946e 100644 (file)
@@ -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