----- Original Message ----- From: "Adriaan van Os" <[EMAIL PROTECTED]>
To: "FPC developers' list" <fpc-devel@lists.freepascal.org>
Sent: Thursday, November 03, 2005 10:48 AM
Subject: Re: [fpc-devel] OpenGL and glut bugs in Freepascal 2.1.1runningwith Mac Os X Tiger ?


Nexus wrote:

<snip>
An unhandled exception occurred at $903E68B8 :
EInvalidOp : Invalid floating point operation
<snip>
So it first seems to be some error in the fpu code generation of the compiler. But the strange things is, after running a C-Program which uses glut and open gl everything just works fine. So maybe there is something wrong in the open gl / glut initialization part or some incompatibilities with Mac OS X 10.4
<snip>

Just a guess - could this be the same problem as discussed in the "[fpc-devel] MacOSX: EXC_ARITHMETIC in PerformHIConversion" thread, where Jonas Maebe wrote:

Are these exceptions by default disabled by gcc ?

The FPC runtime explicitly turns them on by default (since they are required for detecting errors), while libc doesn't. It is independent of the compiler used.


So, if I understand it correct, you wont get a aritmic exeption in FPC anymore when this is turned on ?

The "invalid fpu operation" exceptions are turned on in the FPC system unit initialisation code. If you add the code I posted, they are turned off again and so you won't get them (not due to buggy code in the Carbon framework and not anywhere else either).

Regards,

Adriaan van Os

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Thank you very much for your help (all of you).

You were absolutely right. It seems to be the same problem as discussed in the "[fpc-devel] MacOSX: EXC_ARITHMETIC in PerformHIConversion" thread. I ran the programs with Mac OS X 10.3 and they were running just fine. They just crash with Mac OS X 10.4.x.

It seems to be the same bug in the Carbon framework under Mac OS X 10.4.x mentioned in this thread, which causes to generate invalid floating point operation exceptions in some cases. By disabling these exceptions as mentioned in the EXEC_ARITHMETIC thread with
asm
   mtfsfi 6,1
 end;
everything works now with Mac OS X 10.4 as it should.

But two questions remain:

1.) Why are the fpc applications running fine after running some open gl applications written in c ? (maybe i didn't get it yet, sorry)

2.) It does not sound very safe to turn of the floating point exceptions forever (or at least until Mac OS X 10.5). Is there any possibility to create some clean workaround without needing the divine intervention of the apple fixing the carbon libs in 10.4 ?

Thanks again



_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to