aarch64 always pic
AArch64's restricted branch instructions require full relocation information to be emitted. We can force this with -fPIC
, and need to do so, lest we run into linker issues again and again where our runtime linker won't be able to link symbols as they end up too far apart in memory. We must be able to link symbols from the rts itself and the loaded objects in memory which can be arbitrarily far apart due to ASLR.