
#10969: Arm: Investigate Thumb2/Arm interworking ---------------------------------------+---------------------------------- Reporter: erikd | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (CodeGen) | Version: 7.11 Resolution: | Keywords: arm, thumb Operating System: Unknown/Multiple | Architecture: arm Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #10375 | Differential Rev(s): Wiki Page: | ---------------------------------------+---------------------------------- Comment (by erikd): Before I wrote up this ticket I actually did some testing, building GHC with three changes on top of what became commit [changeset:"933adc0f31164cb651d11ecfcfe612ac429f714f/ghc" 933adc0f/ghc]: * Removed the `-marm` that was being passed to gcc. * In `compiler/llvmGen/LlvmCodeGen/Ppr.hs` set the target triple to `thumbv6-unknown-linux-gnueabihb` to force the Haskell via LLVM path to generate Thumb2 code. * Revert the change to `compiler/ghci/ByteCodeItbls.hs` so that it generates Thumb2 code. I also manually checked (using `objdump -d` on the object files) that both the via-gcc and the via-llvm paths were generating Thumb2 code. However, with the changes above the first stage2 execuable to run crashes immediately with an illegal instruction. Unfortunately I don't have time to work on this further right now as I would like to prioritize getting Arm64 working for the 8.0 release. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10969#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler