about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-11-21 21:04:33 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-11-21 21:04:33 +0000
commita451ee33afe03b8c16a0d166be380182b9587f59 (patch)
tree65cacb4681b8fdf280d16a3852a3f005d078435b
parent988d15f5bdcf1be7d54b8602509d67a6aabb17e0 (diff)
downloadglibc-a451ee33afe03b8c16a0d166be380182b9587f59.tar.gz
glibc-a451ee33afe03b8c16a0d166be380182b9587f59.tar.xz
glibc-a451ee33afe03b8c16a0d166be380182b9587f59.zip
Avoid $(shell) in determining default ARM ABI.
-rw-r--r--ports/ChangeLog.arm7
-rw-r--r--ports/sysdeps/arm/configure3
-rw-r--r--ports/sysdeps/arm/configure.in3
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/Makefile23
4 files changed, 20 insertions, 16 deletions
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 2a56a9f643..66cc71067c 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -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.
diff --git a/ports/sysdeps/arm/configure b/ports/sysdeps/arm/configure
index 385f295904..91239cdf3e 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 7e91332591..6073d0ee86 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 bda3ea9f71..be7946e966 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