[GHC] #11353: DWARF call frame information incorrect in the presence of unsafe foreign calls
GHC
ghc-devs at haskell.org
Sun Mar 27 22:03:57 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) |
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: x86_64
Type of failure: Debugging | (amd64)
information is incorrect | Test Case:
Blocked By: | Blocking:
Related Tickets: #11338, #11337 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by scpmw):
Not sure why you are worrying about the order - that gets derived from the
NCG output using cmmDebugLink. This is precisely so NCG is free to do
whatever it wants with blocks, even reorder or optimise them out.
My first impulse here would be that you will need some sort of `UNWIND`
anyway to have NCG create labels. So maybe have it carry its unwind rules,
that would allow NCG to update it. In either case, you would feed that
information back roughly the same way that currently `ngs_labels` gets
threaded back to debug information generation. As `UNWIND` would carry
unique labels, this could just be replacing the current `[Label]` block
list with an an ordered `[(Label, [UnwindTable])]` debug label to unwind
table map.
Not sure - this is exactly the kind of complexity that I tried my best to
avoid, so I haven't put a lot of thought into it.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11353#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list