Okay, I can confirm the bug is fixed.<div><br></div><div>It's insane this bug did not cause any more problems. Every call into every C function that uses floating point could have been affected (OpenGL, BLAS, etc)</div>
<div><br></div><div><div><div class="gmail_quote">On Fri, Apr 3, 2009 at 10:47 PM, Peter Verswyvelen <span dir="ltr"><<a href="mailto:bugfact@gmail.com">bugfact@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Ouch, what a waste of time on my side :-( <div><br></div><div>This bugfix is not mentioned in the "notable bug fixes" <a href="http://haskell.org/ghc/docs/6.10.2/html/users_guide/release-6-10-2.html" target="_blank">here</a> </div>
<div><br></div><div>Since this is such a severe bug, I would recommend listing it :)</div><div><div><br></div><div><div>Anyway, I have a very small repro test case now. Will certainly test this with GHC 6.10.2. </div><div>
<div></div><div class="h5"><div>
<br></div><div>On Fri, Apr 3, 2009 at 10:35 PM, Ian Lynagh <span dir="ltr"><<a href="mailto:igloo@earth.li" target="_blank">igloo@earth.li</a>></span> wrote:<br></div><div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>On Fri, Apr 03, 2009 at 10:10:17PM +0200, Peter Verswyvelen wrote:<br>
> I tried both precise and fast, but that did not help. Compiling to SSE2<br>
> fixed it, since that does not use a floating point stack I guess.<br>
<br>
</div>You didn't say what version of GHC you are using, but it sounds like<br>
this might already be fixed in 6.10.2 by:<br>
<br>
Tue Nov 11 12:56:19 GMT 2008 Simon Marlow <<a href="mailto:marlowsd@gmail.com" target="_blank">marlowsd@gmail.com</a>><br>
* Fix to i386_insert_ffrees (#2724, #1944)<br>
The i386 native code generator has to arrange that the FPU stack is<br>
clear on exit from any function that uses the FPU. Unfortunately it<br>
was getting this wrong (and has been ever since this code was written,<br>
I think): it was looking for basic blocks that used the FPU and adding<br>
the code to clear the FPU stack on any non-local exit from the block.<br>
In fact it should be doing this on a whole-function basis, rather than<br>
individual basic blocks.<br>
<br>
<br>
Thanks<br>
<font color="#888888">Ian<br>
<br>
</font></blockquote></div><br></div></div></div></div></div></div>
</blockquote></div><br></div></div>