On Saturday, 25 September 2021 at 20:12:09 UTC, kinke wrote:
>I assume you've skipped the https://wiki.dlang.org/Cross-compiling_with_LDC#Tweaking_the_LDC_configuration_file part and expect passing -mtriple to be sufficient for linking as well. In that case, read that section again - you'll need to pass -gcc=aarch64-linux-gnu-gcc
for LDC to invoke the cross-gcc as linker driver. And specify the AArch64 druntime/Phobos dir via -L
(but the linker might still complain about the x64 libs dir specified in the default ldc2.conf section). [ldc2 -v
shows the linker cmdline for troubleshooting.]
I can't get -gcc
to do anything, it always invokes /usr/bin/cc
.
Example with -v
:
/usr/bin/cc btdu-static-aarch64.o -o btdu-static-aarch64 -fuse-ld=gold -Lrelease -l:libtermcap.a -l:libncursesw.a -l:libtinfo.a -l:libz.a -L/root/dlang/ldc-1.27.1/bin/../lib-aarch64 -lphobos2-ldc -ldruntime-ldc -Wl,--gc-sections -lrt -ldl -lpthread -lm
Whether it's specified in the configuration file or on the command line doesn't stop it from running /usr/bin/cc
.
(I didn't configure the library stuff yet)