[fpc-devel] targetandroid

Adriaan van Os fpc at microbizz.nl
Sun Jun 17 18:00:22 CEST 2018

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 

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 


Adriaan van Os

More information about the fpc-devel mailing list