[GHC] #11353: DWARF call frame information incorrect in the presence of unsafe foreign calls
GHC
ghc-devs at haskell.org
Mon Jan 4 21:22:14 UTC 2016
#11353: DWARF call frame information incorrect in the presence of unsafe foreign
calls
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 8.2.1
Component: Compiler | Version: 7.10.3
(CodeGen) |
Keywords: | Operating System: Unknown/Multiple
Architecture: x86_64 | Type of failure: Debugging
(amd64) | information is incorrect
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Unsafe foreign calls result in adjustments to `$rsp` made in the NCG to
comply with calling convention alignment requirements (see
`X86.CodeGen.genCCall64'`). Unfortunately, this happens after we've
generated unwind information. This results in incorrect unwinding
information for `$rsp` when inside of a foreign call. The results can be
quite catastrophic (e.g. segmentation faults while unwinding).
Unfortunately it's really not clear what can be done about this given that
these adjustments aren't present in the Cmm representation that we use to
produce frame information.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11353>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list