This patch includes most of the hard work in porting FPC to aarch64-linux: getting the assembler start-up code roughly right, getting the sizes and layouts of various structs correct, coping with system calls that no longer exist (see dup2/dup3, for example), ...
Linux arm64 takes its system call numbers from include/uapi/asm-generic/unistd.h, which according to a quick grep of the kernel source is currently used for these architectures: arc, arm64, c6x, hexagon, metag, nios2, openrisc, score, tile, unicore32. I would guess that arm64 is the first of these to appear in FPC so I've put the "generic" syscall numbers in rtl/linux/sysnr-gen.inc and I've used generic_linux_syscalls as the condition for alternatives that would presumably be applicable to any of those architectures. With this patch you should be able to get as far as building compiler/ppca64, either cross-building on a supported system or building natively on Linux arm64. Edmund
fpc-aarch64-linux-rtl.patch.gz
Description: Binary data
_______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
