This is an archive of the discontinued LLVM Phabricator instance.

Fix step-over when SymbolContext.function is missing and symbol is present.
ClosedPublic

Authored by sammccall on Nov 17 2016, 9:24 AM.

Details

Summary

Fix step-over when SymbolContext.function is missing and symbol is present.

With targets from our build configuration,
ThreadPlanStepOverRange::IsEquivalentContext fails to fire for relevant frames,
leading to ShouldStop() returning true prematurely.

The frame's SymbolContext, and m_addr_context have:

  • comp_unit set and matching
  • function = nullptr
  • symbol set and matching (but this is never checked)

My naive guess is that the context should be equivalent in this case :-)

Diff Detail

Repository
rL LLVM

Event Timeline

sammccall updated this revision to Diff 78374.Nov 17 2016, 9:24 AM
sammccall retitled this revision from to Fix step-over when SymbolContext.function is missing and symbol is present..
sammccall updated this object.
sammccall added a reviewer: jingham.
sammccall added a subscriber: lldb-commits.
sammccall updated this revision to Diff 78407.Nov 17 2016, 1:00 PM
  • Always reject different compilation units
jingham accepted this revision.Nov 17 2016, 1:09 PM
jingham edited edge metadata.

That way of doing it is fine too.

This revision is now accepted and ready to land.Nov 17 2016, 1:09 PM
sammccall updated this revision to Diff 78418.Nov 17 2016, 1:42 PM
sammccall edited edge metadata.
  • Restore old behaviour when blocks are unequal

Excellent, thanks for catching that.

This revision was automatically updated to reflect the committed changes.