[Lldb-commits] [PATCH] D125509: [LLDB][NFC] Decouple dwarf location table from DWARFExpression.

Zequan Wu via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri May 20 12:08:01 PDT 2022

zequanwu added inline comments.

Comment at: lldb/test/Shell/SymbolFile/DWARF/x86/dwp.s:22-23
 # SYMBOLS-NEXT:   Block{{.*}}, ranges = [0x00000000-0x00000001)
-# SYMBOLS-NEXT:     Variable{{.*}}, name = "x", {{.*}}, location = 
-# SYMBOLS-NEXT:       DW_LLE_startx_length   (0x0000000000000001, 0x0000000000000001): DW_OP_reg0 RAX
+# SYMBOLS-NEXT:     Variable{{.*}}, name = "x", {{.*}}, location =
+# SYMBOLS-NEXT:       [0x0000000000000000, 0x0000000000000001): DW_OP_reg0 RAX
JDevlieghere wrote:
> I guess the patch is not NFC is the output changes? Would it be possible to split the functional and non-functional part of this patch into separate patches?
Originally, lldb-test uses `DWARFLocationTable::dumpLocationList` to dump the raw range info from dwarf expression, which are not interpreted to be readable range info. 
In this case, the raw range info is `DW_LLE_startx_length 0x1 0x1` where the first value is address index and second value is range length. Now, it's dumping the readable range info that is interpreted from the raw range info. So, the variable range is within the block range.

Another test case change is `debug_loc.s`, because we don't accept invalid range info now. 

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list