Thanks for those explanations. I modified packages/fpmkunit/src/fpmkunit.pp and utils/fpcm/fpcmmain.pp by analogy with revisions 29899 and 29902, then:
make all utils/fpcm/bin/i386-linux/fpcmake -Tall -r make all OS_TARGET=linux CPU_TARGET=aarch64 After a while it objects to a missing aarch64/prt0.as, but it has already made compiler/ppcrossa64. Naturally, this is still a Darwin compiler: $ compiler/ppcrossa64 /dev/null Free Pascal Compiler version 3.1.1 [2015/05/09] for aarch64 Copyright (c) 1993-2015 by Florian Klaempfl and others Target OS: Darwin for AArch64 Now I think this might be because of the code in compiler/systems.pas with the comment "change to Linux" ... so I do that, and I add system_aarch64_linux to the list in compiler/systems.inc. (Note, by the way, that "{ 85 }" occurs twice in that file. Is that a bug?) Now I get: $ compiler/ppcrossa64 /dev/null Fatal: Internal error 2004121202 Now this is perhaps not surprising as I know I have to modify compiler/systems/i_linux.pas and compiler/systems/t_linux.pas, presumably by analogy with [it]_bsd.pas, but I find I can put whatever I like in those files bracketed with {$ifdef aarch64} or {$ifdef cpuaarch64} and it has no effect because those symbols are never defined there, it seems. So something fundamental is still missing. Any suggestions? (I haven't modified compiler/aarch64/agcpugas.pas yet, but I don't think I've got that far yet, and those symbols are not mentioned in that file.) Thanks, Edmund _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel