[GHC] #10375: arm: ghci hits an illegal instruction
GHC
ghc-devs at haskell.org
Tue Sep 8 05:36:38 UTC 2015
#10375: arm: ghci hits an illegal instruction
-------------------------------------+---------------------------------
Reporter: erikd | Owner:
Type: bug | Status: new
Priority: high | Milestone: 7.10.3
Component: GHCi | Version: 7.10.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: arm
Type of failure: GHCi crash | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+---------------------------------
Comment (by erikd):
Got some help from the llvm-dev mailing list. People there pointed out
that this:
{{{
(gdb) disassemble
Dump of assembler code for function stg_ap_v_fast:
0x03ff9db4 <+0>: push {r7, lr}
0x03ff9db6 <+2>: sub sp, #32
0x03ff9db8 <+4>: add r7, sp, #0
0x03ff9dba <+6>: ldr r3, [pc, #508] ; (0x3ff9fb8
<stg_ap_v_fast+516>)
=> 0x03ff9dbc <+8>: ldr r3, [r3, #0]
0x03ff9dbe <+10>: and.w r3, r3, #
}}}
show the CPU executing Thumb instructions.
Thumb instructions are encoded in two btyes (and hence instructions with
addresses that are even) while Arm instructions are encoded in 4 bytes (so
instructions should be aligned at 4 bytes offsets).
This could be that GDB getting the CPU mode incorrect. Not sure how to
figure out if that is the case or even if and how that could happen.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10375#comment:44>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list