[Lldb-commits] [PATCH] D107161: [lldb] Fix lookup of .debug_loclists with split-dwarf

Jan Kratochvil via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Sun Aug 1 11:34:50 PDT 2021


jankratochvil accepted this revision.
jankratochvil added a comment.
This revision is now accepted and ready to land.

LGTM with some those adjustments.



================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp:450
+    if (!contribution)
+      return;
+    offset += contribution->Offset;
----------------
There could be some `ReportError`.


================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp:466
         "Failed to extract location list table at offset 0x%" PRIx64 ": %s",
         loclists_base, toString(std::move(E)).c_str());
   }
----------------
`loclists_base` should be adjusted or printed also together with `offset` or so.



================
Comment at: lldb/test/Shell/SymbolFile/DWARF/x86/debug_loclists-dwp.s:15-16
+        nop
+.Ltmp0:
+        nop
+.Ltmp1:
----------------
.Ltmp0 is not used.



================
Comment at: lldb/test/Shell/SymbolFile/DWARF/x86/debug_loclists-dwp.s:55
+        .quad   1026699901672188186      # DWO id
+        .byte   1                       # Abbrev [1] 0xc:0x5f DW_TAG_compile_unit
+        .asciz  "debug_loclists-dwp.dwo"  # DW_AT_dwo_name
----------------
Offsets not valid.


================
Comment at: lldb/test/Shell/SymbolFile/DWARF/x86/debug_loclists-dwp.s:186
+        .quad   1026699901672188186      # DWO id
+        .byte   1                       # Abbrev [1] 0xb:0x50 DW_TAG_compile_unit
+        .asciz  "Hand-written DWARF"    # DW_AT_producer
----------------
These offsets are no longer valid.



================
Comment at: lldb/test/Shell/SymbolFile/DWARF/x86/debug_loclists-dwp.s:189
+        .short  12                      # DW_AT_language
+        .byte   2                       # Abbrev [2] 0x2a:0x29 DW_TAG_subprogram
+        .byte   0                       # DW_AT_low_pc
----------------
Likewise.


================
Comment at: lldb/test/Shell/SymbolFile/DWARF/x86/debug_loclists-dwp.s:204
+.Lint:
+        .byte   4                       # Abbrev [4] 0x53:0x7 DW_TAG_base_type
+        .asciz  "int"                   # DW_AT_name
----------------
Likewise.


================
Comment at: lldb/test/Shell/SymbolFile/DWARF/x86/debug_loclists-dwp.s:211-236
+  .section .debug_cu_index, "", @progbits
+## Header:
+   .short 5                            # Version
+   .short 0                            # Padding
+   .long 3                             # Section count
+   .long 1                             # Unit count
+   .long 2                             # Slot count
----------------
There could be the standard indentation.



Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107161



More information about the lldb-commits mailing list