[Lldb-commits] [PATCH] D68655: Trust the arange accelerator tables in dSYMs

Jason Molenda via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Jan 11 19:09:10 PST 2023


jasonmolenda added a comment.

I guess to say it shorter.  If I have a dwarf_aranges, that means the dwarf linker created it.  And if it created it, surely its at least based off of the subprogram address ranges or the line table -- that is, the text address ranges.  If I have a DW_TAG_compile_unit DW_AT_ranges, either the compiler (to the .o file) created it, in which case I really am suspicious of those ranges because the compiler can't know which symbols will end up in the final executable, and the addresses in the ranges were simply translated to the final executable address equivalents.  Or it was rewritten by a dwarf linker that parsed the DWARF and knew how to correctly calculate the addresses that correspond to that compile unit.

if anything, I would trust a dwarf_aranges entry for a CU before I would trust the CU's DW_AT_ranges list.  Both have to be written by the dwarf linker to be correct, but only the former is written ONLY by the dwarf linker.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D68655



More information about the lldb-commits mailing list