
#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