Am 12.01.2022 um 14:37 schrieb Volo Zyko via fpc-pascal:
Hello,
Some time ago it was announced an experimental support for Windows on Aarch64
(namely in this post
https://lists.freepascal.org/pipermail/fpc-pascal/2020-April/057762.html). I
tried to build a dll with a proprietary code for that target. Building
succeeded but it crashes on loading. At the moment I don't understand how to
investigate the issue to provide more information about it.
Here is my setup (in case there are any obvious mistakes). I built FPC from
source (using commit e091d263c84890f64ca8353fa837c4fd7eb94c37). Building on
Windows was quite straightforward - make OS_TARGET=win64 CPU_TARGET=aarch64
BINUTILSPREFIX= OPT=-O- all (as it was described in the post above). There was
one catch though. Since I used MSys I had to make sure that the path to
existing FPC was earlier than MSys's paths, i.e. I did export
PATH=/c/tools/FPC/3.2.2/bin/i386-Win32/fpc:$PATH. FPC build system doesn't
understand MSys file paths which are produced by MSys make, one must use make
from FPC distribution. After building I got ppcrossa64.exe which is PE32+
executable for x86-64 itself. After this I built my dll. The command line was
roughly like this: /c/tools/FPC/3.3.1/bin/x86_64-win64/ppcrossa64 -O- -Twin64
-Paarch64 -Sd -CF64 -fPIC -XPaarch64-win64 -olib.dll lib.dpr.
Any help in investigating the crash would be appreciated. Obviously I cannot
share the proprietary code (it's not mine). However, in case there are any
tests from the FPC source code that I can build and run on ARM64 I would
eagerly do it.
The aarch64-win64 target isn't yet fully useable, cause it even fails to
correctly cycle the compiler itself (and if that fails I'm not really
confident with real world applications either). The cause wasn't yet
directly investigated however (mainly due to time constraints).
By the way: is there a reason why you use MSys? FPC doesn't need it (nor
expect it as you noticed with the paths).
Regards,
Sven
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal