aboutsummaryrefslogtreecommitdiffstats
path: root/erts/configure.in
diff options
context:
space:
mode:
authorMike Sperber <[email protected]>2012-03-22 18:00:31 +0100
committerMike Sperber <[email protected]>2012-03-23 09:15:19 +0100
commit933e701dac1936c6f15c765b5687fbc623464ec7 (patch)
tree95bef4a51a14f512c23348e39cbfb336bc22475b /erts/configure.in
parent3087769515ea9bfc75f7d7b8897bc897c7f13931 (diff)
downloadotp-933e701dac1936c6f15c765b5687fbc623464ec7.tar.gz
otp-933e701dac1936c6f15c765b5687fbc623464ec7.tar.bz2
otp-933e701dac1936c6f15c765b5687fbc623464ec7.zip
Unbreak floating point on middle-endian machines.
On some ARMs (and maybe other platforms), doubles are stored with the the two 32-bit words reversed with respect to more common architectures. The symptom is this: > io_lib:write(1.0). "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005299808824" Detect that and account for it when decoding floats.
Diffstat (limited to 'erts/configure.in')
-rw-r--r--erts/configure.in1
1 files changed, 1 insertions, 0 deletions
diff --git a/erts/configure.in b/erts/configure.in
index b801994e14..6583db8116 100644
--- a/erts/configure.in
+++ b/erts/configure.in
@@ -1681,6 +1681,7 @@ case X$erl_xcomp_bigendian in
esac
AC_C_BIGENDIAN
+AC_C_DOUBLE_MIDDLE_ENDIAN
dnl fdatasync syscall (Unix only)
AC_CHECK_FUNCS([fdatasync])