/* Define if trunc is inlined on x86. */
#undef HAVE_X86_INLINE_TRUNC
+/* Define if compiler suport __attribute__ ((mode (__libgcc_cmp_return__))). */
+#undef HAVE_X86_LIBGCC_CMP_RETURN_ATTR
+
#endif
fi
+
+conftest_code="
+int __gcc_CMPtype_GCC __attribute__ ((mode (__libgcc_cmp_return__)));
+"
+
+cat > conftest.c <<EOF
+$conftest_code
+EOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __libgcc_cmp_return__ mode attribute support" >&5
+printf %s "checking for __libgcc_cmp_return__ mode attribute support... " >&6; }
+if test ${libc_cv_cc_x86_libgcc_cmp_return_attribute+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $CFLAGS conftest.c -o conftest 1>&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+ then
+ libc_cv_cc_x86_libgcc_cmp_return_attribute=yes
+ else
+ libc_cv_cc_x86_libgcc_cmp_return_attribute=no
+ fi ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_x86_libgcc_cmp_return_attribute" >&5
+printf "%s\n" "$libc_cv_cc_x86_libgcc_cmp_return_attribute" >&6; }
+rm -f conftest*
+if test "$libc_cv_cc_x86_libgcc_cmp_return_attribute" = yes; then
+ printf "%s\n" "#define HAVE_X86_LIBGCC_CMP_RETURN_ATTR 1" >>confdefs.h
+
+else
+ printf "%s\n" "#define HAVE_X86_LIBGCC_CMP_RETURN_ATTR 0" >>confdefs.h
+
+fi
+
+
if test "${libc_cv_cc_no_direct_extern_access}${libc_cv_test_cc_cflags_no_direct_extern_access}" = yes; then
libc_cv_protected_data=no
fi
AC_DEFINE(HAVE_X86_INLINE_TRUNC, 0)
fi
+
+conftest_code="
+int __gcc_CMPtype_GCC __attribute__ ((mode (__libgcc_cmp_return__)));
+"
+dnl Check if CC support the __libgcc_cmp_return__ mode attribute
+LIBC_TRY_CC_COMMAND([for __libgcc_cmp_return__ mode attribute support],
+ [$conftest_code],
+ [$CFLAGS],
+ libc_cv_cc_x86_libgcc_cmp_return_attribute,
+ [libc_cv_cc_x86_libgcc_cmp_return_attribute=yes],
+ [libc_cv_cc_x86_libgcc_cmp_return_attribute=no])
+if test "$libc_cv_cc_x86_libgcc_cmp_return_attribute" = yes; then
+ AC_DEFINE(HAVE_X86_LIBGCC_CMP_RETURN_ATTR, 1)
+else
+ AC_DEFINE(HAVE_X86_LIBGCC_CMP_RETURN_ATTR, 0)
+fi
+
+
dnl If the building compiler enables no direct external data access by
dnl default, access to protected data in shared libraries from executables
dnl must be compiled with no direct external data access. If the testing
/* Configure soft-fp for building sqrtf128. Based on sfp-machine.h in
libgcc, with soft-float and other irrelevant parts removed. */
+#if HAVE_X86_LIBGCC_CMP_RETURN_ATTR
/* The type of the result of a floating point comparison. This must
match `__libgcc_cmp_return__' in GCC for the target. */
-typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
+typedef int __gcc_CMPtype_GCC __attribute__ ((mode (__libgcc_cmp_return__)));
+#else
+# if defined __x86_64__ && defined __ILP32__
+typedef long long int __gcc_CMPtype;
+#else
+typedef long int __gcc_CMPtype;
+# endif
+#endif
#define CMPtype __gcc_CMPtype
#ifdef __x86_64__