<br><br><div class="gmail_quote">On Sun, Apr 10, 2011 at 9:08 PM, Andreas Raab <span dir="ltr"><<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
<div bgcolor="#ffffff" text="#000000">
On 4/10/2011 18:35, Mariano Martinez Peck wrote:
<blockquote type="cite">Sorry for arriving late to the thread. I have a simiar
problem now trying to compile Cog in a Windows box with MinGW. <br>
<br>
The problem is described in another thread: <a href="http://forum.world.st/Cannot-generate-VM-in-Windows-with-CMake-and-Git-tp3434566p3434566.html" target="_blank">http://forum.world.st/Cannot-generate-VM-in-Windows-with-CMake-and-Git-tp3434566p3434566.html</a><br>
<br>
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?<br>
</blockquote>
<br>
gcc 3.x accepts -mno-fused-madd fine.<br></div></blockquote><div><br>Weird...I have<br><br>
$ gcc --version<br>
gcc.exe (GCC) 3.4.5 (mingw-vista special r3)<br>
Copyright (C) 2004 Free Software Foundation, Inc.<br>
This is free software; see the source for copying conditions. There is NO<br>
warranty; not even fo<br><br>and I have the error: <br><br><span>Scanning dependencies of target FloatMathPlugin</span><br><span>[
13%] Building C object
FloatMathPlugin/CMakeFiles/FloatMathPlugin.dir/C_/maria
no/squeak/vm/cogVM/blessed/src/plugins/FloatMathPlugin/FloatMathPlugin.c.obj</span><br><span>
cc1.exe: error: invalid option `no-fused-madd'</span><br><span>make[2]:
***
[FloatMathPlugin/CMakeFiles/FloatMathPlugin.dir/C_/mariano/squeak/v
m/cogVM/blessed/src/plugins/FloatMathPlugin/FloatMathPlugin.c.obj]
Error 1</span><br><span>
make[1]: *** [FloatMathPlugin/CMakeFiles/FloatMathPlugin.dir/all] Error 2</span><br><span>make: *** [all] Error 2</span><br>r MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.<br> <br><br>Cheers<br><br>mariano<br><br>
</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div bgcolor="#ffffff" text="#000000">
<br>
Cheers,<br>
- Andreas<br>
<br>
<blockquote type="cite">
<br>
Thanks<br>
<br>
Mariano<br>
<br>
<div class="gmail_quote">On Tue, Jan 25, 2011 at 9:05 PM, Nicolas
Cellier <span dir="ltr"><<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><br>
2011/1/25 Andreas Raab <<a href="mailto:andreas.raab@gmx.de" target="_blank">andreas.raab@gmx.de</a>>:<br>
<div>><br>
> On 1/25/2011 11:38 AM, Igor Stasenko wrote:<br>
>>><br>
>>> Squeak uses highly unportable flag
"-mno-fused-madd".<br>
>>> It isn't present in many systems, even those
using GCC,<br>
>>> since many systems use older compilers.<br>
>>><br>
>>> Also, why do you build fdlibm? It is old stuff
that works not so well,<br>
>>> we have better libm. Is there a way to use our
libm?<br>
>>><br>
>> I asked same question few weeks ago.<br>
>> Check mailing list archive for discussion.<br>
>> In short: differrent libm implementations work
differently and some<br>
>> have bad support of IEEE standard.<br>
><br>
> Actually, that's not quite the point. The issue is that
Croquet requires<br>
> bit-identical computations including floating point.
For FPU computations,<br>
> the use of -mno-fused-madd avoids the use of the fused
multiply-add<br>
> operation by compilers which support it which would
generate different<br>
> results from compilers not using fused madd.<br>
><br>
> The usage of fdlibm is similar. As Nicolas has pointed
out elsewhere, fdlibm<br>
> is in some cases actually inferior of the platform
libms (one might say<br>
> outright broken) but the requirement for the usage in
Croquet isn't really<br>
> whether it's "correct" or "good". The requirement is
bit-identical results<br>
> across all platforms. The results can be wrong as long
as they are<br>
> consistently wrong. But they mustn't be different.<br>
><br>
<br>
</div>
Yes, I was disappointed by exp(1), but fdlibm sin(pi+epsilon)
is far<br>
far superior to i86 hardwired answer (i86 approximation of pi
is well<br>
known to be poor).<br>
<font color="#888888"><br>
Nicolas<br>
</font>
<div>
<div><br>
> Having said that, for your regular Squeak VM (i.e.,
not requiring<br>
> bit-identical floating point results) there really
isn't a requirement to<br>
> use either -mno-fused-madd or fdlibm.<br>
><br>
> Cheers,<br>
> - Andreas<br>
><br>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
Mariano<br>
<a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
<br>
</blockquote>
</div>
<br></blockquote></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>