On Mon, Jun 17, 2002 at 11:32:21AM -0700, Tony Lindgren wrote: > Well, I finally got around to verifying that this is caused by the Fast > Floating Point Emulator. So the real solution is to use the Netwinder > Floating Point Emulator. Symlinking perl to debug-perl seems to be a > work around with the Fast Floating Point Emulator. > > In any case, it's weird how the FastFPE works with debug-perl and not > with perl...
Does debug-perl get compiled with -g and no optimiser? In which case, does that mean that gcc does all the floating point via loads and stores to memory, whereas normal perl is optimised and some floating point values stay in the emulators registers? (Which I am assuming are 80 bit rather than just the 64 which would be written to memory) You can get similar surprising effects on x86 when floating point values do (or don't) get stored to memory - while they are in the CPU they are 80 bit, but if they are written to memory (such as when passed as parameters to a function) two values that were unequal are now equal, due to the rounding. But that's a bug in the user code, whereas this would appear to be a subtle bug in FastFPE. Nicholas Clark -- Even better than the real thing: http://nms-cgi.sourceforge.net/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

