[fpc-devel] AArch64 port committed to svn trunk
Edmund Grimley Evans
edmund.grimley.evans at gmail.com
Sat May 9 11:16:27 CEST 2015
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
More information about the fpc-devel
mailing list