From 933e701dac1936c6f15c765b5687fbc623464ec7 Mon Sep 17 00:00:00 2001 From: Mike Sperber Date: Thu, 22 Mar 2012 18:00:31 +0100 Subject: 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. --- xcomp/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'xcomp/README.md') diff --git a/xcomp/README.md b/xcomp/README.md index 2d79107283..98e71d5962 100644 --- a/xcomp/README.md +++ b/xcomp/README.md @@ -430,6 +430,14 @@ When a variable has been set, no warning will be issued. `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` - `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_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. -- cgit v1.2.3 From 85283dc19ceea2905ff39aa0615d1a99d7aea16c Mon Sep 17 00:00:00 2001 From: Lukas Larsson Date: Fri, 24 Aug 2012 12:02:39 +0200 Subject: Configure now assumed normal doubles --- xcomp/README.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'xcomp/README.md') diff --git a/xcomp/README.md b/xcomp/README.md index 98e71d5962..ec6d640d62 100644 --- a/xcomp/README.md +++ b/xcomp/README.md @@ -430,13 +430,9 @@ When a variable has been set, no warning will be issued. `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` - `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` - `yes|no`. Defaults to `no`. + If `yes`, the target system must have doubles in "middle-endian" format. If + `no`, it has "regular" endianness. * `erl_xcomp_clock_gettime_cpu_time` - `yes|no`. Defaults to `no`. If `yes`, the target system must have a working `clock_gettime()` implementation -- cgit v1.2.3