jankratochvil marked an inline comment as done. jankratochvil added inline comments.
================ Comment at: llvm/unittests/DebugInfo/DWARF/DWARFListTableTest.cpp:128 + EXPECT_EQ(Table.getAddrSize(), 8U); + Extractor.setAddressSize(Table.getAddrSize()); + Expected<DWARFDebugRnglist> List = Table.findList(Extractor, Offset); ---------------- ikudrin wrote: > This looks odd. `DWARFListTableBase::findList()` should not require the > setting to be done in the calling code if it can apply it itself. I agree but as I have found it is not so simple. `findList` is being used also with uninitialized headers: [[ https://github.com/llvm/llvm-project/blob/e4977f9cb58ff7820d0287ba309490af57787749/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp#L619 | llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp DWARFUnit::findRnglistFromOffset ]] So I had to implement `DWARFListTableBase::setAddrSize` which is a bit ugly. One cannot find appropriate `.debug_loclists` header just for the requested `offset` without `DW_AT_rnglists_base` which may be missing, that is what D106466 is about. Or one could use `DWARFListTableHeader::create` from that patch but that looks to me as too much complicated. In fact the codebase is already designed so that caller has to prepare proper `DWARFDataExtractor` - `llvm::DWARFDebugLoclists` and `llvm::DWARFDebugLoc` also rely on it, I tried to implement this callee approach for them as: https://www.jankratochvil.net/t/gccoffset1-2-2b.patch But I am not going to submit it as one either has to provide address size to both `DWARFDataExtractor` and `llvm::DWARFDebugLoc*` constructors or otherwise `DWARFDataExtractor` would have unset address size (implemented in the patch) which is also a bit ugly. So personally I would choose the previous patch but I am fine also with this patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107470/new/ https://reviews.llvm.org/D107470 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits