summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-dwarfdump/X86
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2019-10-09 21:25:28 +0000
committerDavid Blaikie <dblaikie@gmail.com>2019-10-09 21:25:28 +0000
commit411497c6c714d43f30c6942ca0e98ecc0e800744 (patch)
tree6d26285a6b6ba61b09de045f956ebebe8133eb71 /llvm/test/tools/llvm-dwarfdump/X86
parent745e57c5939e289789b9171e118b09c3c59c572a (diff)
downloadbcm5719-llvm-411497c6c714d43f30c6942ca0e98ecc0e800744.tar.gz
bcm5719-llvm-411497c6c714d43f30c6942ca0e98ecc0e800744.zip
llvm-dwarfdump: Support multiple debug_loclists contributions
Also fixing the incorrect "offset" field being computed/printed for each location list. llvm-svn: 374232
Diffstat (limited to 'llvm/test/tools/llvm-dwarfdump/X86')
-rw-r--r--llvm/test/tools/llvm-dwarfdump/X86/debug_loclists_multiple.s44
-rw-r--r--llvm/test/tools/llvm-dwarfdump/X86/debug_loclists_startx_length.s2
2 files changed, 45 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-dwarfdump/X86/debug_loclists_multiple.s b/llvm/test/tools/llvm-dwarfdump/X86/debug_loclists_multiple.s
new file mode 100644
index 00000000000..4e2999dd9c6
--- /dev/null
+++ b/llvm/test/tools/llvm-dwarfdump/X86/debug_loclists_multiple.s
@@ -0,0 +1,44 @@
+# RUN: llvm-mc %s -filetype obj -triple x86_64-pc-linux -o %t.o
+# RUN: llvm-dwarfdump -v %t.o | FileCheck %s
+
+# Test dumping of multiple separate debug_loclist contributions
+# CHECK: .debug_loclists contents:
+# CHECK: 0x00000000: locations list header:
+# CHECK: 0x0000000c:
+# CHECK: [0x0000000000000001, 0x0000000000000002): DW_OP_consts +7, DW_OP_stack_value
+# CHECK: 0x00000014: locations list header:
+# CHECK: [0x0000000000000005, 0x0000000000000007): DW_OP_consts +12, DW_OP_stack_value
+
+ .section .debug_loclists,"",@progbits
+ .long .Ldebug_loclist_table_end0-.Ldebug_loclist_table_start0 # Length
+.Ldebug_loclist_table_start0:
+ .short 5 # Version
+ .byte 8 # Address size
+ .byte 0 # Segment selector size
+ .long 0 # Offset entry count
+
+ .byte 4 # DW_LLE_offset_pair
+ .uleb128 1 # starting offset
+ .uleb128 2 # ending offset
+ .byte 3 # Loc expr size
+ .byte 17 # DW_OP_consts
+ .byte 7 # 7
+ .byte 159 # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list
+.Ldebug_loclist_table_end0:
+ .long .Ldebug_loclist_table_end1-.Ldebug_loclist_table_start1 # Length
+.Ldebug_loclist_table_start1:
+ .short 5 # Version
+ .byte 8 # Address size
+ .byte 0 # Segment selector size
+ .long 0 # Offset entry count
+
+ .byte 4 # DW_LLE_offset_pair
+ .uleb128 5 # starting offset
+ .uleb128 7 # ending offset
+ .byte 3 # Loc expr size
+ .byte 17 # DW_OP_consts
+ .byte 12 # 12
+ .byte 159 # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list
+.Ldebug_loclist_table_end1:
diff --git a/llvm/test/tools/llvm-dwarfdump/X86/debug_loclists_startx_length.s b/llvm/test/tools/llvm-dwarfdump/X86/debug_loclists_startx_length.s
index 0b2ae5f8e7a..508d9566546 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/debug_loclists_startx_length.s
+++ b/llvm/test/tools/llvm-dwarfdump/X86/debug_loclists_startx_length.s
@@ -7,7 +7,7 @@
# CHECK: .debug_loclists contents:
# CHECK-NEXT: 0x00000000: locations list header: length = 0x0000000e, version = 0x0005, addr_size = 0x08, seg_size = 0x00, offset_entry_count = 0x00000000
-# CHECK-NEXT: 0x00000000:
+# CHECK-NEXT: 0x0000000c:
# CHECK-NEXT: Addr idx 1 (w/ length 16): DW_OP_reg5 RDI
.section .debug_loclists,"",@progbits
OpenPOWER on IntegriCloud