[fpc-devel] More on freepascal armhf porting attempt, some progress made but now stuck.
plugwash at p10link.net
Sun Mar 11 12:01:27 CET 2012
I've made some progress on armhf porting, i've added the nessacery
frameworks (vfpv3_d16 FPU target, EABIVFP ABI target, FPC_ARMHF define)
and made a start on actually implementing the new ABI. I decided to
start with function results.
However i've now reached a problem which has me stumped.
When I try to build my patched compiler (using make compiler_cycle
'OPT=-dFPC_ARMHF' ) the starting compiler builds the RTL and compiler
successfully (as would be expected) but when ppc1 tries to build the RTL
things fail with assembler errors. The errors below are a sample of the
types of error seen (there are a HUGE number of each)
/fpc/rtl/units/arm-linux/system.s:19075: Error: selected processor does
not support ARM mode `mvfd d0,f0'
/fpc/rtl/units/arm-linux/system.s:19077: Error: selected processor does
not support ARM mode `ldfd f0,[r13]'
/fpc/rtl/units/arm-linux/system.s:41169: Error: selected processor does
not support ARM mode `ldfs f0,[r13]'
It appears to me (i'm not an expert on arm assembler and I can't seem
to find any documentation on FPA) that FPC is generating FPA
instructions even though the FPU is set to a VFP type. What i'm really
struggling to work out is why the heck that is happening. From telling
freepascal to include source lines as comments in the assembler it
doesn't look like inline assembler is responsible.
Anyone have any suggestions on where things might be going wrong and how
to debug this?
I've attatched a patch containing my efforts so far.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 29572 bytes
Desc: not available
More information about the fpc-devel