This is an archive of the discontinued LLVM Phabricator instance.

Support evaluation of DWARF expressions setting CFA
ClosedPublic

Authored by labath on Feb 20 2015, 8:57 AM.

Details

Summary

This patch enables evaluation of DWARF expressions setting the CFA during stack unwinding.

This makes TestSigtrampUnwind "almost" pass on linux. I am not enabling the test yet since the
symbol name for the signal trampoline does not get resolved properly due to a different bug, but
apart from that, the backtrace is sane.

I am unsure how this change affects Mac. I think it makes the unwinder prefer the DWARF unwind
plan instead of some custom platform-dependant plan. However, it does not affect the end result

  • the stack unwinding works as expected.

Diff Detail

Repository
rL LLVM

Event Timeline

labath updated this revision to Diff 20412.Feb 20 2015, 8:57 AM
labath updated this revision to Diff 20414.
labath retitled this revision from to Support evaluation of DWARF expressions setting CFA.
labath updated this object.
labath edited the test plan for this revision. (Show Details)
labath added a reviewer: jasonmolenda.
labath added a subscriber: Unknown Object (MLST).

Delete an obsolete comment.

jasonmolenda accepted this revision.Feb 21 2015, 1:56 AM
jasonmolenda edited edge metadata.

This patch looks good to me, please commit. I don't anticipate any change in behavior on Mac systems.

This revision is now accepted and ready to land.Feb 21 2015, 1:56 AM
This revision was automatically updated to reflect the committed changes.