xref: /llvm-project/lldb/test/Shell/SymbolFile/DWARF/x86/childless-compile-unit.s (revision 8a64d80a959bf2844df33f9112e456f33de7b468)
1# Test that we don't crash when parsing slightly invalid DWARF.  The compile
2# unit in this file sets DW_CHILDREN_no, but it still includes an
3# end-of-children marker in its contribution.
4
5# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o
6# RUN: lldb-test symbols %t.o
7
8	.section	.debug_str,"MS",@progbits,1
9.Linfo_string0:
10	.asciz	"Hand-written DWARF"
11.Linfo_string1:
12	.asciz	"-"
13.Linfo_string2:
14	.asciz	"/tmp"
15
16	.section	.debug_abbrev,"",@progbits
17	.byte	1                       # Abbreviation Code
18	.byte	17                      # DW_TAG_compile_unit
19	.byte	0                       # DW_CHILDREN_no
20	.byte	37                      # DW_AT_producer
21	.byte	14                      # DW_FORM_strp
22	.byte	19                      # DW_AT_language
23	.byte	5                       # DW_FORM_data2
24	.byte	3                       # DW_AT_name
25	.byte	14                      # DW_FORM_strp
26	.byte	27                      # DW_AT_comp_dir
27	.byte	14                      # DW_FORM_strp
28	.byte	0                       # EOM(1)
29	.byte	0                       # EOM(2)
30	.byte	0                       # EOM(3)
31
32	.section	.debug_info,"",@progbits
33.Lcu_begin0:
34	.long	.Lcu_length_end-.Lcu_length_start # Length of Unit
35.Lcu_length_start:
36	.short	4                       # DWARF version number
37	.long	.debug_abbrev           # Offset Into Abbrev. Section
38	.byte	8                       # Address Size (in bytes)
39	.byte	1                       # Abbrev [1] 0xb:0x30 DW_TAG_compile_unit
40	.long	.Linfo_string0          # DW_AT_producer
41	.short	12                      # DW_AT_language
42	.long	.Linfo_string1          # DW_AT_name
43	.long	.Linfo_string2          # DW_AT_comp_dir
44	.byte	0                       # Bogus End Of Children Mark
45.Lcu_length_end:
46