Avoid $(shell) in determining default ARM ABI.

This commit is contained in:
Joseph Myers 2012-11-21 21:04:33 +00:00
parent 988d15f5bd
commit a451ee33af
4 changed files with 20 additions and 16 deletions

View 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.

View 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

View 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

View 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