In some binaries produced with ThinLTO there are CUs that share entry in
.debug_addr. Before we would generate a new entry for each. Which lead to binary
size increase. This changes the behavior so that we re-use entries in
.debug_addr.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Example of pre-bolt debug info
DW_TAG_compile_unit DW_AT_addr_base (0x00000008) DW_TAG_compile_unit DW_AT_addr_base (0x00000008) DW_TAG_compile_unit DW_AT_addr_base (0x00000008)
If only the first CU was modified, and other two were not.
Before the fix:
DW_TAG_compile_unit DW_AT_addr_base (0x00000008) DW_TAG_compile_unit DW_AT_addr_base (0x00000020) DW_TAG_compile_unit DW_AT_addr_base (0x00000030)
After the fix:
DW_TAG_compile_unit DW_AT_addr_base (0x00000008) DW_TAG_compile_unit DW_AT_addr_base (0x00000020) DW_TAG_compile_unit DW_AT_addr_base (0x00000020)