On Mon, Apr 26, 2004 at 07:33:09AM +0200, Marcus Holland-Moritz wrote:

> Looking at the generated assembly code revealed that casting 'double'
> to 'unsigned long long' calls __fixunsdfdi(). GCC implements this
> function, as does OpenBSD's libc (!). Now, the cool thing is that
> casting works as long as you do _not_ link libc to your executable.
> I you do (and Perl does), you start getting wrong results for values
> larger 2**32:

This rings bells. I'm sure we had the same issue with linking (not linking)
libc with tracking down a modf bug on Linux once. But I can't find it in
the archives.

How garbage is the output? Can it be detected by Configure and worked around?
Is it worth it?

Nicholas Clark

Reply via email to