[fpc-devel] freepascal support for debian armhf
peter green
plugwash at p10link.net
Tue Sep 6 03:05:27 CEST 2011
First a bit of background, on arm ebi gcc has three options for
"-mfloat-abi"
soft: do all floating point in software, ignore the fpu type selection
softfp: use the selected fpu type but use the same calling conventions
as "soft" (that is parameters are passed using integer registers). This
gives binary compatibility with soft float code but in the case of vfp
it comes at a substantial performance cost as all parameters must be
moved between fpu and integer registers which causes pipeline stalls
hard: use the selected fpu type and use fpu type specific calling
conventions.
Debian is in the process of introducing a new port called "armhf" which
uses -mfloat-abi=hard with VFP (which seems to be become the dominant
FPU now).
Afaict from quick tests freepascal does support vfp but based on my
tests always uses the "soft" calling convention. So it won't link
correctly with C code that uses floating point parameters on debian armhf.
1: can someone who knows the fpc arm code confirm the above statement?
2: does anyone have any idea what it would take to add support for the
eabi vfp calling convention and for building fpc binaries that use it by
default (just as armel FPC binaries use eabi by default)
3: does anyone have any plans to actually do so (I might attempt it but
i'm not a compiler developer nor am I an arm assembly programmer, just
someone who uses both freepascal and debian on an arm system that could
benefit from armhf)
More information about the fpc-devel
mailing list