Thanks Henry. I've just read it.... so I would remove it hehehehe at least for the default CMakeVMMaker configurations...
Cheers
Mariano
On Mon, Apr 11, 2011 at 10:28 PM, Henrik Sperre Johansen < henrik.s.johansen@veloxit.no> wrote:
Please read this thread from a month ago.
http://forum.world.st/Failed-to-build-FloatMathPlugin-on-FreeBSD-td3346374.h...
Cheers, Henry
On 10.04.2011 21:17, Mariano Martinez Peck wrote:
On Sun, Apr 10, 2011 at 9:08 PM, Andreas Raab andreas.raab@gmx.de wrote:
On 4/10/2011 18:35, Mariano Martinez Peck wrote:
Sorry for arriving late to the thread. I have a simiar problem now trying to compile Cog in a Windows box with MinGW.
The problem is described in another thread: http://forum.world.st/Cannot-generate-VM-in-Windows-with-CMake-and-Git-tp343...
So...if we remove "-mno-fused-madd" from windows confs like CogMsWindowsConfig, then Corquet wouldn't behave correctly ? but if we keep them, it is difficult to compile in some platforms. So...I wonder, I am the only one trying to compile this on Windows? Who do the Croquet guys do to compile with this flag in Windows?
gcc 3.x accepts -mno-fused-madd fine.
Weird...I have
$ gcc --version gcc.exe (GCC) 3.4.5 (mingw-vista special r3) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even fo
and I have the error:
Scanning dependencies of target FloatMathPlugin [ 13%] Building C object FloatMathPlugin/CMakeFiles/FloatMathPlugin.dir/C_/maria no/squeak/vm/cogVM/blessed/src/plugins/FloatMathPlugin/FloatMathPlugin.c.obj cc1.exe: error: invalid option `no-fused-madd' make[2]: *** [FloatMathPlugin/CMakeFiles/FloatMathPlugin.dir/C_/mariano/squeak/v m/cogVM/blessed/src/plugins/FloatMathPlugin/FloatMathPlugin.c.obj] Error 1 make[1]: *** [FloatMathPlugin/CMakeFiles/FloatMathPlugin.dir/all] Error 2 make: *** [all] Error 2 r MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Cheers
mariano
Cheers,
- Andreas
Thanks
Mariano
On Tue, Jan 25, 2011 at 9:05 PM, Nicolas Cellier < nicolas.cellier.aka.nice@gmail.com> wrote:
2011/1/25 Andreas Raab andreas.raab@gmx.de:
On 1/25/2011 11:38 AM, Igor Stasenko wrote:
Squeak uses highly unportable flag "-mno-fused-madd". It isn't present in many systems, even those using GCC, since many systems use older compilers.
Also, why do you build fdlibm? It is old stuff that works not so
well,
we have better libm. Is there a way to use our libm?
I asked same question few weeks ago. Check mailing list archive for discussion. In short: differrent libm implementations work differently and some have bad support of IEEE standard.
Actually, that's not quite the point. The issue is that Croquet
requires
bit-identical computations including floating point. For FPU
computations,
the use of -mno-fused-madd avoids the use of the fused multiply-add operation by compilers which support it which would generate different results from compilers not using fused madd.
The usage of fdlibm is similar. As Nicolas has pointed out elsewhere,
fdlibm
is in some cases actually inferior of the platform libms (one might say outright broken) but the requirement for the usage in Croquet isn't
really
whether it's "correct" or "good". The requirement is bit-identical
results
across all platforms. The results can be wrong as long as they are consistently wrong. But they mustn't be different.
Yes, I was disappointed by exp(1), but fdlibm sin(pi+epsilon) is far far superior to i86 hardwired answer (i86 approximation of pi is well known to be poor).
Nicolas
Having said that, for your regular Squeak VM (i.e., not requiring bit-identical floating point results) there really isn't a requirement
to
use either -mno-fused-madd or fdlibm.
Cheers,
- Andreas
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com