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
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to