[PATCH] D107554: [DWARF][Verifier] Do not add child DieRangeInfo with empty address range to the parent.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 9 04:45:19 PDT 2021


avl added inline comments.


================
Comment at: llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp:419
       }
 
       // Verify that ranges don't intersect and also build up the DieRangeInfo
----------------
clayborg wrote:
> There is really no hope if this ever happening AFAIK. Most linkers do not understand DWARF at all, all they do is concatenate all DWARF sections from each .o file to each other and apply relocations. Anything that has no relocations gets a tombstone value of 0 or -1. The reason is DWARF is a stream that can't easily be manipulated with the standard toolbox available in most linkers, so it is really hard to remove anything without affecting the entire DWARF CU stream. I would love it if producers were able to do this, but without major changes to DWARF itself, I don't think a solution is coming anytime soon.
yep. There is no clear perspective that linkers/dwarf producers would support removing unused parts from the DWARF info.

But there is a suggestion which is much easier and might be supported by DWARF producers - http://www.dwarfstd.org/ShowIssue.php?issue=200609.1 . 

I agree that the suggested functionality(gsymutil like) would be helpful. It allows to filter out a ton of messages about "overlapping address ranges". Probably it would be good if it would not be done by default, but might be requested when necessary. Then the problem would be clearly seen and it will motivate to support "Reserve an address value for "not present"" solution.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107554



More information about the llvm-commits mailing list