[fpc-devel] ARM-Linux, ARMv5 runtime detection fails
Bernd Mueller
mueller.b at gmx.net
Wed Mar 5 16:47:13 CET 2008
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.
I would suggest to use conditional compilation to separate between the
different ARM architectures.
Regards, Bernd.
More information about the fpc-devel
mailing list