[PATCH] D126835: Round up zero-sized symbols to 1 byte in `.debug_aranges` (without breaking other logic).

Alexander Yermolovich via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 22 08:36:51 PDT 2022


ayermolo added a comment.

In D126835#3600910 <https://reviews.llvm.org/D126835#3600910>, @dblaikie wrote:

> In D126835#3600547 <https://reviews.llvm.org/D126835#3600547>, @ayermolo wrote:
>
>> In D126835#3600524 <https://reviews.llvm.org/D126835#3600524>, @dblaikie wrote:
>>
>>> Looks like this would be another issue with zero-length symbols: https://reviews.llvm.org/D127897 (just cross-referencing/collating)
>>
>> Well it's an issue right now even without this change.
>
> Sorry, what I meant is: This issue (D126835 <https://reviews.llvm.org/D126835>) and the other (D127897 <https://reviews.llvm.org/D127897>) would probably both be better-off solved by changing the compiler/LLVM to never produce zero-length entries.

Oh I see.
Some more context. Debug info that D127897 <https://reviews.llvm.org/D127897> is handling is coming from GCC.

>> Long term @zr33 (our summer intern) is working on mechanism to write out .debug_Info/.debug_abbrev using the same mechanics as in codegen/dwarflinker.
>> Once that is enabled we can leave this pattern as is without converting to ranges.
>
> Still not really following - "converting to ranges" as in "changing consumers to use ranges instead of aranges"? sure - though I think that change would be a good thing in general, since aranges take up a bunch of object space.

My bad I should have been more clear.. This is just what BOLT does.  We convert DW_AT_low_pc/DW_AT_high_pc to DW_AT_low_pc/DW_AT_ranges.. This is because BOLT can break up functions.
Due to the limits of our current implementation if DIEs share a an abbrev table we must convert all of them.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126835/new/

https://reviews.llvm.org/D126835



More information about the llvm-commits mailing list