[GHC] #14999: unwinding info for stg_catch_frame is wrong
GHC
ghc-devs at haskell.org
Thu May 3 19:02:37 UTC 2018
#14999: unwinding info for stg_catch_frame is wrong
-------------------------------------+-------------------------------------
Reporter: niteria | Owner: niteria
Type: bug | Status: patch
Priority: normal | Milestone: 8.4.3
Component: Compiler | Version:
Resolution: | Keywords:
Operating System: Linux | Architecture: x86_64
Type of failure: Debugging | (amd64)
information is incorrect | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): phab:D4606
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Ben Gamari <ben@…>):
In [changeset:"6132d7c5e6404936ef281a6f3be333fea780906e/ghc"
6132d7c5/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="6132d7c5e6404936ef281a6f3be333fea780906e"
Correctly add unwinding info in manifestSp and makeFixupBlocks
In `manifestSp` the unwind info was before the relevant instruction, not
after. I added some notes to establish semantics. Also removes
redundant annotation in stg_catch_frame.
For `makeFixupBlocks` it looks like we were off by `wORD_SIZE dflags`.
I'm not sure why, but it lines up with `manifestSp`. In fact it lines
up so well so that I can consolidate the Sp unwind logic in
`maybeAddUnwind`. I detected the problems with `makeFixupBlocks` by
running T14779b after patching D4559.
Test Plan: added a new test
Reviewers: bgamari, scpmw, simonmar, erikd
Reviewed By: bgamari
Subscribers: thomie, carter
GHC Trac Issues: #14999
Differential Revision: https://phabricator.haskell.org/D4606
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14999#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list