summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo
diff options
context:
space:
mode:
authorAlexey Lapshin <a.v.lapshin@mail.ru>2019-12-10 13:00:19 +0300
committerAlexey Lapshin <a.v.lapshin@mail.ru>2019-12-12 10:59:10 +0300
commit71aaebc82468c8982b6d80bb35cbafed6dea91cc (patch)
tree339e1f09b27e6a23483ee3ae0808bbd1a8f966f1 /llvm/test/DebugInfo
parentf8ff3bf55b26673ff3f3857fd17031ea27478ebe (diff)
downloadbcm5719-llvm-71aaebc82468c8982b6d80bb35cbafed6dea91cc.tar.gz
bcm5719-llvm-71aaebc82468c8982b6d80bb35cbafed6dea91cc.zip
[DWARF5][DWARFVerifier] Check that Skeleton compilation unit does not have children.
That patch adds checking into DWARFVerifier that the Skeleton compilation unit does not have children. Differential Revision: https://reviews.llvm.org/D71244
Diffstat (limited to 'llvm/test/DebugInfo')
-rw-r--r--llvm/test/DebugInfo/X86/skeleton-unit-verify.s47
1 files changed, 47 insertions, 0 deletions
diff --git a/llvm/test/DebugInfo/X86/skeleton-unit-verify.s b/llvm/test/DebugInfo/X86/skeleton-unit-verify.s
new file mode 100644
index 00000000000..d990d918cef
--- /dev/null
+++ b/llvm/test/DebugInfo/X86/skeleton-unit-verify.s
@@ -0,0 +1,47 @@
+# RUN: llvm-mc -triple x86_64-unknown-linux %s -filetype=obj -o %t.o
+# RUN: not llvm-dwarfdump --verify %t.o | FileCheck %s
+
+# CHECK: Verifying .debug_abbrev...
+# CHECK-NEXT: Verifying .debug_info Unit Header Chain...
+# CHECK-NEXT: error: Skeleton compilation unit has children.
+# CHECK-NEXT: Verifying .debug_info references...
+# CHECK-NEXT: Verifying .debug_types Unit Header Chain...
+# CHECK-NEXT: Errors detected.
+
+ .section .debug_abbrev,"",@progbits
+ .byte 1 # Abbreviation Code
+ .byte 74 # DW_TAG_skeleton_unit
+ .byte 0 # DW_CHILDREN_no
+ .byte 0 # EOM(1)
+ .byte 0 # EOM(2)
+ .byte 2 # Abbreviation Code
+ .byte 74 # DW_TAG_skeleton_unit
+ .byte 1 # DW_CHILDREN_yes
+ .byte 0 # EOM(1)
+ .byte 0 # EOM(2)
+ .byte 0 # EOM(3)
+
+ .section .debug_info,"",@progbits
+.Lcu_begin0:
+ .long .Lcu_end0-.Lcu_start0 # Length of Unit
+.Lcu_start0:
+ .short 5 # DWARF version number
+ .byte 4 # DWARF Unit Type
+ .byte 8 # Address Size (in bytes)
+ .long .debug_abbrev # Offset Into Abbrev. Section
+ .quad -6573227469967412476
+ .byte 1 # Abbrev [1]
+ .byte 0
+.Lcu_end0:
+ .long .Lcu_end1-.Lcu_start1 # Length of Unit
+.Lcu_start1:
+ .short 5 # DWARF version number
+ .byte 4 # DWARF Unit Type
+ .byte 8 # Address Size (in bytes)
+ .long .debug_abbrev # Offset Into Abbrev. Section
+ .quad -6573227469967412476
+ .byte 2 # Abbrev [2]
+ .byte 0
+.Lcu_end1:
+
+
OpenPOWER on IntegriCloud