[fpc-devel] vfp exception issues with freepascal

Florian Klämpfl florian at freepascal.org
Sat Jul 28 17:56:57 CEST 2012


Am 28.07.2012 17:42, schrieb peter green:
> I am involved in a project called raspbian to produce a hard-float
> derivative of debian for the raspberry pi. Within this port we had
> problems with floating point exceptions while running the compiler.
> These problems were tracked down by masta (a freepascal upstream
> developer) to reversed logic in a routine for controlling floating point
> exception settings (attempting to disable an exception enabled it and
> vice-versa)
> 
> Howevr this then left the question of "why didn't I see this problem
> when preparing the freepascal packages for debian armhf?". The
> conclusion i've come to is that on the armv7 systems i've tested (a
> beagleboard XM running 2.6.39.2-x2 and an IMX53 quickstart board running
> ) the method freepascal uses for enabling vfp exceptions simply doesn't
> work.
> 
> I've written a small test program in C and inline assembler to
> demonstrate this. It tries to enable a number of floating point
> exceptions using a price of inline assembly I copied from the freepascal
> run time library and then does a division of the command line arguments.
> When I test this on a Pi running raspbian I get a floating point
> exception as expected.
> 
> root at raspbian:~# ./a.out 1 0
> Floating point exception
> root at raspbian:~#
> 
> but when I try it on my beagleboard XM or IMX53 board I don't get any
> exception.
> 
> root at plugwash:/home/plugwash# ./a.out 1 0
> inf
> root at plugwash:/home/plugwash#
> 
> Any vfp experts able to help get to the bottom of what is going on here?

According to
http://www.riscosopen.org/forum/forums/5/topics/850#posts-11105
the cpu on the BeagleBoard does not support trapping FPU exceptions.



More information about the fpc-devel mailing list