This is an archive of the discontinued LLVM Phabricator instance.

[BOLT][DWARF] Fix location list order

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



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.