Always PIC on ARM
On ARM we are more constrained by relocation targets, as relocations are more restricted. This leads to fun issues like #15275. On macOS/arm we have to use PIC (due to the enforced 4GB __ZEROPAGE), and in fact we already do use ALWAYS_PIC on darwin.
On linux setting ALWAYS_PIC to true sadly yields a few more issues to fix this.
- the ghci libraries we build appear to strip some relocation entries and produce non-pic relocations again.
- Our aarch64 linker seems to still have some bugs.
- We have no useful error reporting for this.