1 # REQUIRES: x86-registered-target
5 # RUN: llvm-mc --triple x86_64 %s -o %t/test.o -filetype=obj
8 # RUN: llvm-symbolizer -e test.o 0x30 | FileCheck %s
11 # CHECK: .{{/|\\}}test.cpp:6:3
13 # CHECK: .{{/|\\}}test.cpp:7:3
19 .file 0 "./" "test.cpp" md5 0x03b7c6de668697331888d80c6ad0d69e
20 .globl main # -- Begin function main
27 .loc 0 6 3 prologue_end # test.cpp:6:3
30 .loc 0 3 3 # test.cpp:3:3
33 .loc 0 8 1 # test.cpp:8:1
38 .size main, .Lfunc_end0-main
49 .section .debug_abbrev,"",@progbits
50 .byte 1 # Abbreviation Code
51 .byte 74 # DW_TAG_skeleton_unit
52 .byte 0 # DW_CHILDREN_no
53 .byte 16 # DW_AT_stmt_list
54 .byte 23 # DW_FORM_sec_offset
55 .byte 114 # DW_AT_str_offsets_base
56 .byte 23 # DW_FORM_sec_offset
57 .byte 27 # DW_AT_comp_dir
58 .byte 37 # DW_FORM_strx1
59 .ascii "\264B" # DW_AT_GNU_pubnames
60 .byte 25 # DW_FORM_flag_present
61 .byte 118 # DW_AT_dwo_name
62 .byte 37 # DW_FORM_strx1
63 .byte 17 # DW_AT_low_pc
64 .byte 27 # DW_FORM_addrx
65 .byte 18 # DW_AT_high_pc
66 .byte 6 # DW_FORM_data4
67 .byte 115 # DW_AT_addr_base
68 .byte 23 # DW_FORM_sec_offset
72 .section .debug_info,"",@progbits
74 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
76 .short 5 # DWARF version number
77 .byte 4 # DWARF Unit Type
78 .byte 8 # Address Size (in bytes)
79 .long .debug_abbrev # Offset Into Abbrev. Section
80 .quad 6427667746655966506
81 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit
82 .long .Lline_table_start0 # DW_AT_stmt_list
83 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
84 .byte 0 # DW_AT_comp_dir
86 .byte 1 # DW_AT_dwo_name
87 .byte 1 # DW_AT_low_pc
88 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
89 .long .Laddr_table_base0 # DW_AT_addr_base
91 .section .debug_str_offsets,"",@progbits
92 .long 12 # Length of String Offsets Set
96 .section .debug_str,"MS",@progbits,1
98 .asciz "." # string offset=0
100 .asciz "test.o" # string offset=43
101 .section .debug_str_offsets,"",@progbits
104 .section .debug_str_offsets.dwo,"e",@progbits
105 .long 36 # Length of String Offsets Set
108 .section .debug_str.dwo,"eMS",@progbits,1
110 .asciz "i" # string offset=0
112 .asciz "int" # string offset=2
114 .asciz "_Z2f1v" # string offset=6
116 .asciz "f1" # string offset=13
118 .asciz "main" # string offset=16
120 .asciz "clang version 17.0.0 (git@github.com:llvm/llvm-project.git 6963c61f0f6e4be2039cb45e824ea1e83a8f1526)" # string offset=21
122 .asciz "test.cpp" # string offset=122
124 .asciz "test.o" # string offset=131
125 .section .debug_str_offsets.dwo,"e",@progbits
134 .section .debug_info.dwo,"e",@progbits
135 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
136 .Ldebug_info_dwo_start0:
137 .short 5 # DWARF version number
138 .byte 5 # DWARF Unit Type
139 .byte 8 # Address Size (in bytes)
140 .long 0 # Offset Into Abbrev. Section
141 .quad 6427667746655966506
142 .byte 1 # Abbrev [1] 0x14:0x39 DW_TAG_compile_unit
143 .byte 5 # DW_AT_producer
144 .short 33 # DW_AT_language
146 .byte 7 # DW_AT_dwo_name
147 .byte 2 # Abbrev [2] 0x1a:0xb DW_TAG_variable
149 .long 37 # DW_AT_type
151 .byte 0 # DW_AT_decl_file
152 .byte 1 # DW_AT_decl_line
153 .byte 2 # DW_AT_location
156 .byte 3 # Abbrev [3] 0x25:0x5 DW_TAG_volatile_type
157 .long 42 # DW_AT_type
158 .byte 4 # Abbrev [4] 0x2a:0x4 DW_TAG_base_type
160 .byte 5 # DW_AT_encoding
161 .byte 4 # DW_AT_byte_size
162 .byte 5 # Abbrev [5] 0x2e:0x5 DW_TAG_subprogram
163 .byte 2 # DW_AT_linkage_name
165 .byte 0 # DW_AT_decl_file
166 .byte 2 # DW_AT_decl_line
169 .byte 6 # Abbrev [6] 0x33:0x19 DW_TAG_subprogram
170 .byte 1 # DW_AT_low_pc
171 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
172 .byte 1 # DW_AT_frame_base
174 # DW_AT_call_all_calls
176 .byte 0 # DW_AT_decl_file
177 .byte 5 # DW_AT_decl_line
178 .long 42 # DW_AT_type
180 .byte 7 # Abbrev [7] 0x42:0x9 DW_TAG_inlined_subroutine
181 .long 46 # DW_AT_abstract_origin
182 .byte 0 # DW_AT_ranges
183 .byte 0 # DW_AT_call_file
184 .byte 7 # DW_AT_call_line
185 .byte 3 # DW_AT_call_column
186 .byte 0 # End Of Children Mark
187 .byte 0 # End Of Children Mark
188 .Ldebug_info_dwo_end0:
189 .section .debug_abbrev.dwo,"e",@progbits
190 .byte 1 # Abbreviation Code
191 .byte 17 # DW_TAG_compile_unit
192 .byte 1 # DW_CHILDREN_yes
193 .byte 37 # DW_AT_producer
194 .byte 37 # DW_FORM_strx1
195 .byte 19 # DW_AT_language
196 .byte 5 # DW_FORM_data2
198 .byte 37 # DW_FORM_strx1
199 .byte 118 # DW_AT_dwo_name
200 .byte 37 # DW_FORM_strx1
203 .byte 2 # Abbreviation Code
204 .byte 52 # DW_TAG_variable
205 .byte 0 # DW_CHILDREN_no
207 .byte 37 # DW_FORM_strx1
208 .byte 73 # DW_AT_type
209 .byte 19 # DW_FORM_ref4
210 .byte 63 # DW_AT_external
211 .byte 25 # DW_FORM_flag_present
212 .byte 58 # DW_AT_decl_file
213 .byte 11 # DW_FORM_data1
214 .byte 59 # DW_AT_decl_line
215 .byte 11 # DW_FORM_data1
216 .byte 2 # DW_AT_location
217 .byte 24 # DW_FORM_exprloc
220 .byte 3 # Abbreviation Code
221 .byte 53 # DW_TAG_volatile_type
222 .byte 0 # DW_CHILDREN_no
223 .byte 73 # DW_AT_type
224 .byte 19 # DW_FORM_ref4
227 .byte 4 # Abbreviation Code
228 .byte 36 # DW_TAG_base_type
229 .byte 0 # DW_CHILDREN_no
231 .byte 37 # DW_FORM_strx1
232 .byte 62 # DW_AT_encoding
233 .byte 11 # DW_FORM_data1
234 .byte 11 # DW_AT_byte_size
235 .byte 11 # DW_FORM_data1
238 .byte 5 # Abbreviation Code
239 .byte 46 # DW_TAG_subprogram
240 .byte 0 # DW_CHILDREN_no
241 .byte 110 # DW_AT_linkage_name
242 .byte 37 # DW_FORM_strx1
244 .byte 37 # DW_FORM_strx1
245 .byte 58 # DW_AT_decl_file
246 .byte 11 # DW_FORM_data1
247 .byte 59 # DW_AT_decl_line
248 .byte 11 # DW_FORM_data1
249 .byte 63 # DW_AT_external
250 .byte 25 # DW_FORM_flag_present
251 .byte 32 # DW_AT_inline
252 .byte 33 # DW_FORM_implicit_const
256 .byte 6 # Abbreviation Code
257 .byte 46 # DW_TAG_subprogram
258 .byte 1 # DW_CHILDREN_yes
259 .byte 17 # DW_AT_low_pc
260 .byte 27 # DW_FORM_addrx
261 .byte 18 # DW_AT_high_pc
262 .byte 6 # DW_FORM_data4
263 .byte 64 # DW_AT_frame_base
264 .byte 24 # DW_FORM_exprloc
265 .byte 122 # DW_AT_call_all_calls
266 .byte 25 # DW_FORM_flag_present
268 .byte 37 # DW_FORM_strx1
269 .byte 58 # DW_AT_decl_file
270 .byte 11 # DW_FORM_data1
271 .byte 59 # DW_AT_decl_line
272 .byte 11 # DW_FORM_data1
273 .byte 73 # DW_AT_type
274 .byte 19 # DW_FORM_ref4
275 .byte 63 # DW_AT_external
276 .byte 25 # DW_FORM_flag_present
279 .byte 7 # Abbreviation Code
280 .byte 29 # DW_TAG_inlined_subroutine
281 .byte 0 # DW_CHILDREN_no
282 .byte 49 # DW_AT_abstract_origin
283 .byte 19 # DW_FORM_ref4
284 .byte 85 # DW_AT_ranges
285 .byte 35 # DW_FORM_rnglistx
286 .byte 88 # DW_AT_call_file
287 .byte 11 # DW_FORM_data1
288 .byte 89 # DW_AT_call_line
289 .byte 11 # DW_FORM_data1
290 .byte 87 # DW_AT_call_column
291 .byte 11 # DW_FORM_data1
295 .section .debug_rnglists.dwo,"e",@progbits
296 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length
297 .Ldebug_list_header_start0:
299 .byte 8 # Address size
300 .byte 0 # Segment selector size
301 .long 1 # Offset entry count
302 .Lrnglists_dwo_table_base0:
303 .long .Ldebug_ranges0-.Lrnglists_dwo_table_base0
305 .byte 4 # DW_RLE_offset_pair
306 .uleb128 .Ltmp0-.Lfunc_begin0 # starting offset
307 .uleb128 .Ltmp1-.Lfunc_begin0 # ending offset
308 .byte 0 # DW_RLE_end_of_list
309 .Ldebug_list_header_end0:
310 .section .debug_addr,"",@progbits
311 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
313 .short 5 # DWARF version number
314 .byte 8 # Address size
315 .byte 0 # Segment selector size
320 .section .debug_gnu_pubnames,"",@progbits
321 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
323 .short 2 # DWARF Version
324 .long .Lcu_begin0 # Offset of Compilation Unit Info
325 .long 40 # Compilation Unit Length
326 .long 46 # DIE offset
327 .byte 48 # Attributes: FUNCTION, EXTERNAL
328 .asciz "f1" # External Name
329 .long 26 # DIE offset
330 .byte 32 # Attributes: VARIABLE, EXTERNAL
331 .asciz "i" # External Name
332 .long 51 # DIE offset
333 .byte 48 # Attributes: FUNCTION, EXTERNAL
334 .asciz "main" # External Name
337 .section .debug_gnu_pubtypes,"",@progbits
338 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
340 .short 2 # DWARF Version
341 .long .Lcu_begin0 # Offset of Compilation Unit Info
342 .long 40 # Compilation Unit Length
343 .long 42 # DIE offset
344 .byte 144 # Attributes: TYPE, STATIC
345 .asciz "int" # External Name
348 .ident "clang version 17.0.0 (git@github.com:llvm/llvm-project.git 6963c61f0f6e4be2039cb45e824ea1e83a8f1526)"
349 .section ".note.GNU-stack","",@progbits
352 .section .debug_line,"",@progbits