[fpc-devel] ARM-Linux, ARMv5 runtime detection fails
    Florian Klaempfl 
    florian at freepascal.org
       
    Wed Mar  5 16:52:36 CET 2008
    
    
  
Bernd Mueller schrieb:
> Hello,
> 
> the ARMv5 runtime detection in rtl/arm/arm.inc fails, because the used
> pld instruction does not raise SIGILL on ARM architectures ARMv4 and
> below. If you would use an instruction which raises a SIGILL, it would
> still fail, because SignalToRunerror in rtl/linux/arm/sighnd.inc does
> not recover correct from the SIGILL.
> 
> The problem is now, that the wrong move procedure Move_pld is used
> instead of Move_blended for ARMv4 which leads to a huge speed penalty
> (about 25 %) for this architecture.
Not using pld gives a speed penalty of 500-1000% (!) for ARMv5 :)
> 
> I would suggest to use conditional compilation to separate between the
> different ARM architectures.
At least this is no good solution because it would require that we build
two completly different releases.
    
    
More information about the fpc-devel
mailing list