xref: /llvm-project/llvm/test/tools/llvm-dwarfdump/X86/verify_unit_header_chain.s (revision 715726429ec4fc4f0f5f0f2e3dc6c3c31ce8f3a6)
1# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
2# RUN: | not llvm-dwarfdump -verify - \
3# RUN: | FileCheck %s
4
5# CHECK: Verifying .debug_info Unit Header Chain...
6# CHECK-NEXT: error: Units[1] - start offset: 0x0000000d
7# CHECK-NEXT: note: The unit type encoding is not valid.
8# CHECK-NEXT: note: The address size is unsupported.
9# CHECK-NEXT: error: Units[2] - start offset: 0x00000026
10# CHECK-NEXT: note: The 16 bit unit header version is not valid.
11# CHECK-NEXT: note: The offset into the .debug_abbrev section is not valid.
12# CHECK-NEXT: error: Units[4] - start offset: 0x00000041
13# CHECK-NEXT: note: The length for this unit is too large for the .debug_info provided.
14
15	.section	__TEXT,__text,regular,pure_instructions
16	.file	1 "basic.c"
17	.comm	_i,4,2                  ## @i
18	.comm	_j,4,2                  ## @j
19	.section	__DWARF,__debug_str,regular,debug
20Linfo_string:
21	.asciz	"clang version 5.0.0 (trunk 307232) (llvm/trunk 307042)" ## string offset=0
22	.asciz	"basic.c"               ## string offset=55
23	.asciz	"/Users/sgravani/Development/tests" ## string offset=63
24	.asciz	"i"                     ## string offset=97
25	.asciz	"int"                   ## string offset=99
26	.asciz	"j"                     ## string offset=103
27	.section	__DWARF,__debug_abbrev,regular,debug
28Lsection_abbrev:
29	.byte	1                       ## Abbreviation Code
30	.byte	17                      ## DW_TAG_compile_unit
31        .byte   0                       ## DW_CHILDREN_no
32	.byte	0                       ## EOM(1)
33	.byte	0                       ## EOM(2)
34	.byte	0                       ## EOM(3)
35	.section	__DWARF,__debug_info,regular,debug
36Lsection_info:
37Lcu_begin0:
38	.long	9                      ## Length of Unit
39	.short	4                       ## DWARF version number
40Lset0 = Lsection_abbrev-Lsection_abbrev ## Offset Into Abbrev. Section
41	.long	Lset0
42	.byte	4                       ## Address Size (in bytes)
43	.byte	1                       ## Abbrev [1] 0xc:0x45 DW_TAG_compile_unit
44	.byte	0                       ## End Of Children Mark
45Ltu_begin0:
46	.long	21                      ## Length of Unit
47	.short	5                       ## DWARF version number
48	.byte	0                       ## DWARF Unit Type -- Error: The unit type encoding is not valid.
49	.byte	3                       ## Address Size (in bytes) -- Error: The address size is unsupported.
50	.long	0
51	.quad	0
52	.long   0
53	.byte 	0
54Lcu_begin1:
55	.long	10                      ## Length of Unit
56	.short	6                       ## DWARF version number -- Error: The 16 bit unit header version is not valid.
57	.byte	1                       ## DWARF Unit Type
58	.byte	4                       ## Address Size (in bytes) -- The offset into the .debug_abbrev section is not valid.
59	.long	Lline_table_start0
60	.byte	1                       ## Abbrev [1] 0xc:0x45 DW_TAG_compile_unit
61	.byte	0                       ## End Of Children Mark
62Lcu_begin2:
63	.long	9                      ## Length of Unit
64	.short	5                       ## DWARF version number
65	.byte	1                       ## DWARF Unit Type
66	.byte	4                       ## Address Size (in bytes)
67	.long	0						## Abbrev offset
68	.byte 	0
69Ltu_begin1:
70	.long	26                      ## Length of Unit -- Error: The length for this unit is too large for the .debug_info provided.
71	.short	5                       ## DWARF version number
72	.byte	2                       ## DWARF Unit Type
73	.byte	4                       ## Address Size (in bytes)
74	.long	0
75	.quad	0
76	.long   0
77	.byte 	0
78
79.subsections_via_symbols
80	.section	__DWARF,__debug_line,regular,debug
81Lsection_line:
82Lline_table_start0:
83