[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