Change default armhf target to a newer architecture
Currently the default llvm-targets file specifies the default
arm-unknown-linux-gnueabihf target to be using
-mcpu=arm1176jzf-s. Which is an
This has the problem that it's generating memory barriers using
CP15 instructions that are deprecated in
Armv7 and removed in
Because of this there's no way to run the binaries being produced by GHC HQ on Armv8 CPUs without having kernel support for
CP15 Barrier emulation. which is slow.
We're also not taking advantage of new Armv8 instructions this way.
The debian folks have a bug report about this as well https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864847
This means that GHC cannot work on most boards people have/can easily buy today.
I think the default target should be an
Armv7 architecture at the very least. But realistically
Armv8 would probably be ok as well as I doubt many people use GHC to compile on older cores.