--- a/libc/aclocal.m4 +++ b/libc/aclocal.m4 @@ -88,6 +88,12 @@ fi rm -fr contest*]) +dnl Test a compiler option or options with an empty input file. +dnl LIBC_TRY_CC_OPTION([options], [action-if-true], [action-if-false]) +AC_DEFUN([LIBC_TRY_CC_OPTION], +[AS_IF([AC_TRY_COMMAND([${CC-cc} $1 -xc /dev/null -S -o /dev/null])], + [$2], [$3])]) + AC_DEFUN([LIBC_PROG_BINUTILS], [# Was a --with-binutils option given? if test -n "$path_binutils"; then --- a/libc/configure +++ b/libc/configure @@ -7404,7 +7404,14 @@ else libc_cv_cc_nofma= for opt in -ffp-contract=off -mno-fused-madd; do - LIBC_TRY_CC_OPTION($opt, libc_cv_cc_nofma=$opt; break) + if { ac_try='${CC-cc} $opt -xc /dev/null -S -o /dev/null' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + libc_cv_cc_nofma=$opt; break +fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_nofma" >&5 --- a/libc/configure.in +++ b/libc/configure.in @@ -2238,10 +2238,9 @@ libc_cv_cc_submachine, [dnl libc_cv_cc_submachine=no for opt in "-march=$submachine" "-mcpu=$submachine"; do - if AC_TRY_COMMAND([${CC-cc} $opt -xc /dev/null -S -o /dev/null]); then + LIBC_TRY_CC_OPTION([$opt], [ libc_cv_cc_submachine="$opt" - break - fi + break], []) done]) if test "x$libc_cv_cc_submachine" = xno; then AC_MSG_ERROR([${CC-cc} does not support $submachine])