+2014-10-25 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (ppc_fp_type): Set variable on powerpc*-*-linux*.
+ * configure: Regenerate.
+ * config.host (powerpc*-*-linux*): Use $ppc_fp_type to determine
+ additions to tmake_file. Use t-hardfp-sfdf and t-hardfp instead
+ of soft-fp for 32-bit classic hard float. Do not use
+ t-softfp-excl for soft float.
+
2014-10-22 Joseph Myers <joseph@codesourcery.com>
* config.host (powerpc*-*-linux*): Only use soft-fp for 32-bit
;;
powerpc*-*-linux*)
tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-linux t-dfprules rs6000/t-ppc64-fp t-slibgcc-libgcc"
- if test "${host_address}" = 32; then
+ case $ppc_fp_type in
+ 64)
+ ;;
+ hard)
+ tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
+ ;;
+ soft)
+ tmake_file="${tmake_file} t-softfp-sfdf t-softfp"
+ ;;
+ e500v1|e500v2)
tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp"
- fi
+ ;;
+ *)
+ echo "Unknown ppc_fp_type $ppc_fp_type" 1>&2
+ exit 1
+ ;;
+ esac
extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
md_unwind_header=rs6000/linux-unwind.h
;;
$as_echo "$libgcc_cv_mips_hard_float" >&6; }
esac
+# Determine floating-point type for powerpc*-*-linux*.
+# Single-precision-only FPRs are not a supported configuration for
+# this target, so are not allowed for in this test.
+case ${host} in
+powerpc*-*-linux*)
+ cat > conftest.c <<EOF
+#ifdef __powerpc64__
+ppc_fp_type=64
+#elif defined _SOFT_FLOAT
+ppc_fp_type=soft
+#elif defined _SOFT_DOUBLE
+ppc_fp_type=e500v1
+#elif defined __NO_FPRS__
+ppc_fp_type=e500v2
+#else
+ppc_fp_type=hard
+#endif
+EOF
+eval `${CC-cc} -E conftest.c | grep ppc_fp_type=`
+rm -f conftest.c
+;;
+esac
+
# Collect host-machine-specific information.
. ${srcdir}/config.host
[libgcc_cv_mips_hard_float=no])])
esac
+# Determine floating-point type for powerpc*-*-linux*.
+# Single-precision-only FPRs are not a supported configuration for
+# this target, so are not allowed for in this test.
+case ${host} in
+powerpc*-*-linux*)
+ cat > conftest.c <<EOF
+#ifdef __powerpc64__
+ppc_fp_type=64
+#elif defined _SOFT_FLOAT
+ppc_fp_type=soft
+#elif defined _SOFT_DOUBLE
+ppc_fp_type=e500v1
+#elif defined __NO_FPRS__
+ppc_fp_type=e500v2
+#else
+ppc_fp_type=hard
+#endif
+EOF
+eval `${CC-cc} -E conftest.c | grep ppc_fp_type=`
+rm -f conftest.c
+;;
+esac
+
# Collect host-machine-specific information.
. ${srcdir}/config.host