Another issue is the following:

/Users/dev1/fpc-android/fpc-3.0.4/compiler/ppcrossarm -Ur -Tandroid -Parm -XParm-linux-androideabi- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../arm -Fi../unix -Fiarm -Fi../linux -Fi../linux/arm -FE. -FU/Users/dev1/fpc-android/fpc-3.0.4/rtl/units/arm-android -darm -dRELEASE -Us -Sg ../linux/system.pp
/Users/dev1/fpc-android/fpc-3.0.4/rtl/units/arm-android/system.s: Assembler 
messages:
/Users/dev1/fpc-android/fpc-3.0.4/rtl/units/arm-android/system.s:84: Error: invalid constant (7f) after fixup

This happens when building ppcrossarm on OS X 10.12 or 10.13, not on 10.10 (but this information is inexact, it could rather depend on the version of Xcode installed).

What I suspect is that, when building the rtl for android, fpcrossarm calls the installed clang assembler rather than the (separately built) arm-linux-androideabi-as. The remedy then would be to specifically instruct fpc what assember (and linker) are to be used.

The make command issued is

sudo make clean crossall crossinstall OS_TARGET=android CPU_TARGET=arm INSTALL_PREFIX=/usr/local BINUTILSPREFIX=arm-linux-androideabi-

The built binutils for Android are in /usr/local/bin

[P20:/usr/local/bin] adriaan% ls arm-linux-androideabi*
arm-linux-androideabi-addr2line arm-linux-androideabi-c++filt arm-linux-androideabi-nm arm-linux-androideabi-ranlib arm-linux-androideabi-strings arm-linux-androideabi-ar arm-linux-androideabi-gprof arm-linux-androideabi-objcopy arm-linux-androideabi-readelf arm-linux-androideabi-strip arm-linux-androideabi-as arm-linux-androideabi-ld arm-linux-androideabi-objdump arm-linux-androideabi-size

Regards,

Adriaan van Os

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to