xref: /llvm-project/lldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-debug_line-file-index.s (revision 8a64d80a959bf2844df33f9112e456f33de7b468)
1*8a64d80aSDavid Spickett# Test handling of DWARF5 file index 0.
2*8a64d80aSDavid Spickett
3*8a64d80aSDavid Spickett# RUN: llvm-mc -filetype=obj -o %t -triple x86_64-pc-linux %s
4*8a64d80aSDavid Spickett# RUN: %lldb %t -o "image lookup -f hello.c -l 1" \
5*8a64d80aSDavid Spickett# RUN:   -o exit | FileCheck %s
6*8a64d80aSDavid Spickett
7*8a64d80aSDavid Spickett# CHECK: 2 matches found in hello.c:1
8*8a64d80aSDavid Spickett	.text
9*8a64d80aSDavid Spickett.Lfunc_begin0:
10*8a64d80aSDavid Spickett	.file	0 "." "hello.c"
11*8a64d80aSDavid Spickett	.loc	0 1 0                           # hello.c:1:0
12*8a64d80aSDavid Spickett		nop
13*8a64d80aSDavid Spickett	.loc	0 1 13 prologue_end             # hello.c:1:13
14*8a64d80aSDavid Spickett		nop
15*8a64d80aSDavid Spickett.Lfunc_end0:
16*8a64d80aSDavid Spickett	.section	.debug_abbrev,"",@progbits
17*8a64d80aSDavid Spickett	.byte	1                               # Abbreviation Code
18*8a64d80aSDavid Spickett	.byte	17                              # DW_TAG_compile_unit
19*8a64d80aSDavid Spickett	.byte	0                               # DW_CHILDREN_no
20*8a64d80aSDavid Spickett	.byte	37                              # DW_AT_producer
21*8a64d80aSDavid Spickett	.byte	37                              # DW_FORM_strx1
22*8a64d80aSDavid Spickett	.byte	19                              # DW_AT_language
23*8a64d80aSDavid Spickett	.byte	5                               # DW_FORM_data2
24*8a64d80aSDavid Spickett	.byte	3                               # DW_AT_name
25*8a64d80aSDavid Spickett	.byte	37                              # DW_FORM_strx1
26*8a64d80aSDavid Spickett	.byte	114                             # DW_AT_str_offsets_base
27*8a64d80aSDavid Spickett	.byte	23                              # DW_FORM_sec_offset
28*8a64d80aSDavid Spickett	.byte	16                              # DW_AT_stmt_list
29*8a64d80aSDavid Spickett	.byte	23                              # DW_FORM_sec_offset
30*8a64d80aSDavid Spickett	.byte	27                              # DW_AT_comp_dir
31*8a64d80aSDavid Spickett	.byte	37                              # DW_FORM_strx1
32*8a64d80aSDavid Spickett	.byte	17                              # DW_AT_low_pc
33*8a64d80aSDavid Spickett	.byte	27                              # DW_FORM_addrx
34*8a64d80aSDavid Spickett	.byte	18                              # DW_AT_high_pc
35*8a64d80aSDavid Spickett	.byte	6                               # DW_FORM_data4
36*8a64d80aSDavid Spickett	.byte	115                             # DW_AT_addr_base
37*8a64d80aSDavid Spickett	.byte	23                              # DW_FORM_sec_offset
38*8a64d80aSDavid Spickett	.byte	0                               # EOM(1)
39*8a64d80aSDavid Spickett	.byte	0                               # EOM(2)
40*8a64d80aSDavid Spickett	.byte	0                               # EOM(3)
41*8a64d80aSDavid Spickett	.section	.debug_info,"",@progbits
42*8a64d80aSDavid Spickett.Lcu_begin0:
43*8a64d80aSDavid Spickett	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
44*8a64d80aSDavid Spickett.Ldebug_info_start0:
45*8a64d80aSDavid Spickett	.short	5                               # DWARF version number
46*8a64d80aSDavid Spickett	.byte	1                               # DWARF Unit Type
47*8a64d80aSDavid Spickett	.byte	8                               # Address Size (in bytes)
48*8a64d80aSDavid Spickett	.long	.debug_abbrev                   # Offset Into Abbrev. Section
49*8a64d80aSDavid Spickett	.byte	1                               # Abbrev [1] 0xc:0x2b DW_TAG_compile_unit
50*8a64d80aSDavid Spickett	.byte	0                               # DW_AT_producer
51*8a64d80aSDavid Spickett	.short	12                              # DW_AT_language
52*8a64d80aSDavid Spickett	.byte	1                               # DW_AT_name
53*8a64d80aSDavid Spickett	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base
54*8a64d80aSDavid Spickett	.long	.Lline_table_start0             # DW_AT_stmt_list
55*8a64d80aSDavid Spickett	.byte	2                               # DW_AT_comp_dir
56*8a64d80aSDavid Spickett	.byte	0                               # DW_AT_low_pc
57*8a64d80aSDavid Spickett	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
58*8a64d80aSDavid Spickett	.long	.Laddr_table_base0              # DW_AT_addr_base
59*8a64d80aSDavid Spickett.Ldebug_info_end0:
60*8a64d80aSDavid Spickett	.section	.debug_str_offsets,"",@progbits
61*8a64d80aSDavid Spickett	.long	12                              # Length of String Offsets Set
62*8a64d80aSDavid Spickett	.short	5
63*8a64d80aSDavid Spickett	.short	0
64*8a64d80aSDavid Spickett.Lstr_offsets_base0:
65*8a64d80aSDavid Spickett	.section	.debug_str,"MS",@progbits,1
66*8a64d80aSDavid Spickett.Linfo_string0:
67*8a64d80aSDavid Spickett	.asciz	"" # string offset=0
68*8a64d80aSDavid Spickett.Linfo_string1:
69*8a64d80aSDavid Spickett	.asciz	"hello.c"                       # string offset=101
70*8a64d80aSDavid Spickett.Linfo_string2:
71*8a64d80aSDavid Spickett	.asciz	"."                             # string offset=109
72*8a64d80aSDavid Spickett	.section	.debug_str_offsets,"",@progbits
73*8a64d80aSDavid Spickett	.long	.Linfo_string0
74*8a64d80aSDavid Spickett	.long	.Linfo_string1
75*8a64d80aSDavid Spickett	.long	.Linfo_string2
76*8a64d80aSDavid Spickett	.section	.debug_addr,"",@progbits
77*8a64d80aSDavid Spickett.Ldebug_addr_start0:
78*8a64d80aSDavid Spickett	.short	5                               # DWARF version number
79*8a64d80aSDavid Spickett	.byte	8                               # Address size
80*8a64d80aSDavid Spickett	.byte	0                               # Segment selector size
81*8a64d80aSDavid Spickett.Laddr_table_base0:
82*8a64d80aSDavid Spickett	.quad	.Lfunc_begin0
83*8a64d80aSDavid Spickett.Ldebug_addr_end0:
84*8a64d80aSDavid Spickett	.section	.debug_line,"",@progbits
85*8a64d80aSDavid Spickett.Lline_table_start0:
86