[GHC] #14291: Tests tend to fail in the ext-interp way when split sections is enabled
GHC
ghc-devs at haskell.org
Thu Oct 5 04:07:18 UTC 2017
#14291: Tests tend to fail in the ext-interp way when split sections is enabled
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.4.1
Component: Compiler | Version: 8.2.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking: 13716
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
Actually, the data at `0x41453420` is valid: it is code,
{{{
>>> x/8i 0x41453420
0x41453420: add $0x18,%r12
0x41453424: cmp 0x358(%r13),%r12
0x4145342b: ja 0x41453450
0x4145342d: movq $0x414533d0,-0x10(%r12)
0x41453436: mov %rsi,(%r12)
}}}
This is precisely the code that I would expect given the object file. I
don't know why my previous watchpoint didn't catch this being mapped (oh,
perhaps gdb doesn't catch changes due to `mmap` events; that would explain
it).
Anyways, in this case I'm quite confused: the relocations all appear to be
correct but we appear to be doing an indirect jump through `0x41453420`,
clearly expecting it to be an address where in fact it is code. This
suggests that things went awry quite a bit earlier.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14291#comment:18>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list