A recent change in 3.1.1 seemed to have broken the AVR compiler, while the compiler compiles fine for X86_64-linux. I think the problem started from r36325:
make clean crossall OS_TARGET=embedded CPU_TARGET=avr SUBARCH=avr5 BINUTILSPREFIX=avr- CROSSOPT="-O3 -XX -CX"
FPC=~/fpc/3.0.2/compiler/ppcx64
When starting to compile the rtl
make[2]: Entering directory '/home/christo/fpc/3.1.1' make -C rtl all
make[3]: Entering directory '/home/christo/fpc/3.1.1/rtl' make -C embedded all
make[4]: Entering directory '/home/christo/fpc/3.1.1/rtl/embedded' /bin/mkdir -p /home/christo/fpc/3.1.1/rtl/units/avr-embedded /home/christo/fpc/3.1.1/compiler/ppcrossavr -Cpavr5 @rtl.cfg -Ur -Tembedded -Pavr -XPavr- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../avr -FE. -FU/home/christo/fpc/3.1.1/rtl/units/avr-embedded -davr -dRELEASE -O3 -XX -CX -Us -Sg system.pp
/home/christo/fpc/3.1.1/rtl/units/avr-embedded/system.s: Assembler messages:
/home/christo/fpc/3.1.1/rtl/units/avr-embedded/system.s:7283: Error: pointer register (X, Y or Z) required
/home/christo/fpc/3.1.1/rtl/units/avr-embedded/system.s:7283: Error: `,' required
/home/christo/fpc/3.1.1/rtl/units/avr-embedded/system.s:7285: Error: pointer register (X, Y or Z) required
/home/christo/fpc/3.1.1/rtl/units/avr-embedded/system.s:7285: Error: `,' required
