diff options
author | Mike Sperber <[email protected]> | 2012-03-22 18:00:31 +0100 |
---|---|---|
committer | Mike Sperber <[email protected]> | 2012-03-23 09:15:19 +0100 |
commit | 933e701dac1936c6f15c765b5687fbc623464ec7 (patch) | |
tree | 95bef4a51a14f512c23348e39cbfb336bc22475b /xcomp/erl-xcomp-vxworks_ppc32.conf | |
parent | 3087769515ea9bfc75f7d7b8897bc897c7f13931 (diff) | |
download | otp-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 'xcomp/erl-xcomp-vxworks_ppc32.conf')
-rw-r--r-- | xcomp/erl-xcomp-vxworks_ppc32.conf | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/xcomp/erl-xcomp-vxworks_ppc32.conf b/xcomp/erl-xcomp-vxworks_ppc32.conf index ed8305ea93..bea4b3e374 100644 --- a/xcomp/erl-xcomp-vxworks_ppc32.conf +++ b/xcomp/erl-xcomp-vxworks_ppc32.conf @@ -187,6 +187,15 @@ AR="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/arppc" # value is used, `configure' will try to figure this out automatically. erl_xcomp_bigendian=yes +# * `erl_xcomp_double_middle_endian` - `yes|no`. No default. If `yes`, the +# target system must have doubles in "middle-endian" format. If +# `no`, it has "regular" endianness. This can often be automatically +# detected, but not always. If not automatically detected, +# `configure` will fail unless this variable is set. Since no +# default value is used, `configure` will try to figure this out +# automatically. +#erl_xcomp_double_middle_endian + # * `erl_xcomp_clock_gettime_cpu_time' - `yes|no'. Defaults to `no'. If `yes', # the target system must have a working `clock_gettime()' implementation # that can be used for retrieving process CPU time. |