vsk marked an inline comment as done. vsk added a comment. In D72489#1813533 <https://reviews.llvm.org/D72489#1813533>, @dblaikie wrote:
> Thanks for looking into this! > > Could you measure the size of the object files of, for example, the clang > binary before/after this change - and, if possible, on Linux (where > relocations are required to fixup these addresses)? I'm concerned this might > increase the size significantly. Hm, there's something I'm missing here. I verified that this change causes one extra X86_64_RELOC_UNSIGNED relocation to be emitted per call site entry in a MachO. For a stage2 build of clang on Darwin (2281 .o's), this patch increases the total file size of the .o's by 0.04% (6,970,706,668 bytes -> 6,973,643,092 bytes, a ~3MB increase). That size increase is much smaller than expected, because clang has ~5.5 million call site entries, and (IIUC) an X86_64_RELOC_UNSIGNED relocation takes 8 bytes. So I'd expect a ~42MB size increase. Does anyone have any insight into this discrepancy? Are relocations compressed, or did the previous subtraction encoding take up space elsewhere? > Could you check if this does the right thing for Split DWARF or DWARFv5? (I > suspect it does - if you're using the same API as is used for DW_TAG_label's > low_pc, for instance - which I imagine you are) - in terms of adding the > address to debug_addr, and using addrx encoding. I've added a test in test/DebugInfo/X86/debug_addr.ll. > I was going to suggest we use a non-standard extension to preserve the > subprogram-relative behavior, by using a different DW_FORM (such as data4) to > communicate that this is a subprogram-relative value. But that won't be > sufficient for PROPELLER, for instance, which fragments subprograms so > there's no unique low_pc for it to be relative to. So that leaves us maybe > really wanting the addr+offset encoding discussed here: > http://lists.llvm.org/pipermail/llvm-dev/2020-January/138029.html I don't really understand the addr+offset encoding, I'll follow up on llvm-dev. ================ Comment at: lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/Makefile:10 + +lib_One: lib_Two + ---------------- aprantl wrote: > It seems like one of the lib_Two dependencies is redundant? Presumably the > one in a.out? Ah, yep. If it's all right I'd rather just leave the redundant lib_Two dependency for a.out, to make it really explicit. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72489/new/ https://reviews.llvm.org/D72489 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits