[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