[GHC] #14909: Change default armhf target to a newer architecture

#14909: Change default armhf target to a newer architecture -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: (none) Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.5 (CodeGen) | Keywords: | Operating System: Unknown/Multiple Architecture: arm | Type of failure: None/Unknown Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Currently the default [https://github.com/ghc/ghc/blob/60b06456ddef08bd8a8a47497a6cbefbb5e359fb /llvm-targets#L4 llvm-targets] file specifies the default `arm-unknown- linux-gnueabihf` target to be using `-mcpu=arm1176jzf-s`. Which is an `Armv6` architecture. This has the problem that it's generating memory barriers using `CP15` instructions that are deprecated in `Armv7` and removed in `Armv8`. 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. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14909 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14909: Change default armhf target to a newer architecture ---------------------------------------+------------------------------ Reporter: Phyx- | Owner: (none) Type: task | Status: new Priority: normal | Milestone: Component: Compiler (CodeGen) | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: arm Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------------+------------------------------ Comment (by Phyx-): `generic` may work as well, as long as `llvm` doesn't generate the deprecated instructions then. Ideally, we should take the `-mcpu` option at configure time. And GHC should take it when calling llvm. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14909#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14909: Change default armhf target to a newer architecture ---------------------------------------+------------------------------ Reporter: Phyx- | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler (CodeGen) | Version: 8.4.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: arm Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------------+------------------------------ Changes (by Phyx-): * version: 8.5 => 8.4.1 * milestone: => 8.6.1 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14909#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14909: Change default armhf target to a newer architecture ---------------------------------------+------------------------------ Reporter: Phyx- | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler (CodeGen) | Version: 8.4.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: arm Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------------+------------------------------ Changes (by vanessamchale): * cc: vanessa.mchale@… (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14909#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14909: Change default armhf target to a newer architecture ---------------------------------------+------------------------------ Reporter: Phyx- | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler (CodeGen) | Version: 8.4.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: arm Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------------+------------------------------ Comment (by vanessamchale): I think some old Raspberry Pis use ARMv7, no? I could see some value in targeting ARMv7. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14909#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC