This is an archive of the discontinued LLVM Phabricator instance.

[BOLT][DWARF] Fix location list order
ClosedPublic

Authored by ayermolo on Aug 14 2023, 11:40 AM.

Details

Summary

This bug crept in when CU partitioning was introduced. It manifests itself when
there are CUs that use location lists that come before CUs that are part of
thin-lto. BOLT processes CUs with cross CU references first (these are produced
by thin-lto). When we wrote out all the location lists we did it in original
order. Since DWARF4 uses offsets directly in to .debug_loc those offsets in DIEs
became wrong.

Diff Detail

Event Timeline

ayermolo created this revision.Aug 14 2023, 11:40 AM
Herald added a reviewer: Amir. · View Herald Transcript
Herald added a reviewer: maksfb. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
ayermolo requested review of this revision.Aug 14 2023, 11:40 AM
ayermolo edited the summary of this revision. (Show Details)Aug 14 2023, 3:37 PM
Amir accepted this revision.Aug 14 2023, 4:06 PM
This revision is now accepted and ready to land.Aug 14 2023, 4:06 PM
ayermolo updated this revision to Diff 550128.Aug 14 2023, 4:32 PM

cleaned up dwarf5-loclist.s

This revision was automatically updated to reflect the committed changes.