This is an archive of the discontinued LLVM Phabricator instance.

[LLDB][NativePDB] Fix inline line info in line table
ClosedPublic

Authored by zequanwu on Apr 4 2022, 3:21 PM.

Details

Summary

It fixes the following case:

0602      line 1 (+1)
0315      code 0x15 (+0x15)
0B2B      code 0x20 (+0xB) line 2 (+1)
0602      line 3 (+1)
0311      code 0x31 (+0x11)
...

Inline ranges should have following mapping:
[0x15, 0x20) -> line 1
[0x20, 0x31) -> line 2
Inline line entries:
0x15, line 1, 0x20, line 2, 0x31, line 3.

Diff Detail

Event Timeline

zequanwu created this revision.Apr 4 2022, 3:21 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 4 2022, 3:21 PM
zequanwu requested review of this revision.Apr 4 2022, 3:21 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 4 2022, 3:21 PM
labath added a comment.Apr 5 2022, 1:01 AM

As unusual, I don't understand pdbs, but the resulting line table seems reasonable.

I don't think we can assert this level of detail in a compilation-based test though. Could you put these checks into the non-"live" version of the test?

zequanwu planned changes to this revision.EditedApr 5 2022, 5:36 PM

Plan to apply similar change in D123151 to this patch.

zequanwu updated this revision to Diff 421352.Apr 7 2022, 3:13 PM

Modity inline_sites.test to do non-live test.

labath accepted this revision.Apr 14 2022, 10:41 AM
This revision is now accepted and ready to land.Apr 14 2022, 10:41 AM
This revision was automatically updated to reflect the committed changes.