[GHC] #11058: selected processor does not support ARM mode
GHC
ghc-devs at haskell.org
Tue Nov 3 16:57:28 UTC 2015
#11058: selected processor does not support ARM mode
----------------------------------------+------------------------------
Reporter: nomeata | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: arm
Type of failure: Building GHC failed | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
----------------------------------------+------------------------------
Comment (by bgamari):
Here is a summary of the issue sent to ghc-devs,
> Indeed this appears to be regression compared to 7.10.2 for some.
> However for most users it will be a significant improvement in
> stability.
>
> ARM processors can run code encoded in one of several instruction sets
> of which ARM and Thumb are two. The issue here is that we have never
> been able to handle Thumb instructions correctly; we fare even worse in
> cases where we have Thumb and ARM instructions in the same executable
> due to various linker issues:
>
> * the runtime's linker doesn't support loading heterogeneous code at
> all
>
> * the system's dynamic linker will almost certainly screw up our info
> tables due to the need for a trampoline (for this reason , I'm not
> even sure whether it's possible to handle Thumb-ARM interworking in
> Haskell code)
>
> There are several places where Thumb instructions could come from,
>
> 1. GHCi produced them in mkJumpToAddr
>
> 2. native code compiled with GCC, which defaults to Thumb on many
> systems
>
> 3. system libraries, which are Thumb on many distributions
>
> The solution which Erik implemented was to switch entirely to ARM. (1)
> was addressed by changing the GHC, (2) was fixed by explicitly passing
> -marm to GCC. I'm actually not sure the state of (3).
>
> Regardless, the solution to (2) is clearly upsetting your system. This
> is odd as I was under the impression that all non-microcontroller ARM
> devices support the full ARM instruction set (the Cortex devices, on the
> other hand, only support Thumb but are totally incapable of running GHC
> at all). What hardware and distribution is this?
>
> Cheers,
>
> ~ Ben
>
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11058#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list