[fpc-devel] Cross compiling x86_64 -> ARM (RPi) | EABI mis-match.

Jonas Maebe jonas.maebe at elis.ugent.be
Thu May 23 14:29:45 CEST 2013


On 23 May 2013, at 05:54, Bruce Tulloch wrote:

> I built FPC 2.7.1 from trunk to cross compile as:
>
> make crossall crosszipinstall \
> CPU_TARGET=arm OS_TARGET=linux \
> CROSSBINDIR=/usr/local/opt/binutils/bin \
> BINUTILSPREFIX=arm-linux- \
> OPT="-XX -CX -dFPC_ARMHF"
>
> When using this cross compiler to build my code (also with - 
> dFPC_ARMHF) I
> get this error at the end of the link:
>
> /usr/local/lib/fpc/2.7.1/units/arm-linux/rtl/cprt0.o has EABI  
> version 0,
> but target a.out has EABI version 5
>
> which suggests the RTL was not built with EABI 5.


cpr0.o is not generated by the compiler from Pascal code, but directly  
from assembler. The code in that file is not specific to any ABI. The  
Makefile does not appear to pass the proper parameters to the  
assembler when processing that file during a compilation for the ARMHF  
target, so it doesn't get the proper markers. I'm not even certain  
whether the Makefile can easily determine that we are compiling for  
ARMHF.


Jonas



More information about the fpc-devel mailing list