[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