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

GHC ghc-devs at haskell.org
Sun Mar 11 17:44:10 UTC 2018


#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


More information about the ghc-tickets mailing list