xref: /llvm-project/bolt/test/X86/Inputs/dwarf5-return-pc-helper.s (revision 11a8dd65ec604b59b79f64ee4b4874f439085514)
1# -gdwarf-5 -g2 -O2 -S
2# int  foo0(int argc) {
3#    return argc;
4# }
5
6	.text
7	.file	"helper.cpp"
8	.globl	_Z4foo0i                        # -- Begin function _Z4foo0i
9	.p2align	4, 0x90
10	.type	_Z4foo0i,@function
11_Z4foo0i:                               # @_Z4foo0i
12.Lfunc_begin0:
13	.file	0 "." "helper.cpp" md5 0x893b1fbf1f7f58c81b95cdb601b2f919
14	.loc	0 1 0                           # helper.cpp:1:0
15	.cfi_startproc
16# %bb.0:                                # %entry
17	#DEBUG_VALUE: foo0:argc <- $edi
18	movl	%edi, %eax
19.Ltmp0:
20	.loc	0 2 4 prologue_end              # helper.cpp:2:4
21	retq
22.Ltmp1:
23.Lfunc_end0:
24	.size	_Z4foo0i, .Lfunc_end0-_Z4foo0i
25	.cfi_endproc
26                                        # -- End function
27	.section	.debug_abbrev,"",@progbits
28	.byte	1                               # Abbreviation Code
29	.byte	17                              # DW_TAG_compile_unit
30	.byte	1                               # DW_CHILDREN_yes
31	.byte	37                              # DW_AT_producer
32	.byte	37                              # DW_FORM_strx1
33	.byte	19                              # DW_AT_language
34	.byte	5                               # DW_FORM_data2
35	.byte	3                               # DW_AT_name
36	.byte	37                              # DW_FORM_strx1
37	.byte	114                             # DW_AT_str_offsets_base
38	.byte	23                              # DW_FORM_sec_offset
39	.byte	16                              # DW_AT_stmt_list
40	.byte	23                              # DW_FORM_sec_offset
41	.byte	27                              # DW_AT_comp_dir
42	.byte	37                              # DW_FORM_strx1
43	.byte	17                              # DW_AT_low_pc
44	.byte	27                              # DW_FORM_addrx
45	.byte	18                              # DW_AT_high_pc
46	.byte	6                               # DW_FORM_data4
47	.byte	115                             # DW_AT_addr_base
48	.byte	23                              # DW_FORM_sec_offset
49	.byte	0                               # EOM(1)
50	.byte	0                               # EOM(2)
51	.byte	2                               # Abbreviation Code
52	.byte	46                              # DW_TAG_subprogram
53	.byte	1                               # DW_CHILDREN_yes
54	.byte	17                              # DW_AT_low_pc
55	.byte	27                              # DW_FORM_addrx
56	.byte	18                              # DW_AT_high_pc
57	.byte	6                               # DW_FORM_data4
58	.byte	64                              # DW_AT_frame_base
59	.byte	24                              # DW_FORM_exprloc
60	.byte	122                             # DW_AT_call_all_calls
61	.byte	25                              # DW_FORM_flag_present
62	.byte	110                             # DW_AT_linkage_name
63	.byte	37                              # DW_FORM_strx1
64	.byte	3                               # DW_AT_name
65	.byte	37                              # DW_FORM_strx1
66	.byte	58                              # DW_AT_decl_file
67	.byte	11                              # DW_FORM_data1
68	.byte	59                              # DW_AT_decl_line
69	.byte	11                              # DW_FORM_data1
70	.byte	73                              # DW_AT_type
71	.byte	19                              # DW_FORM_ref4
72	.byte	63                              # DW_AT_external
73	.byte	25                              # DW_FORM_flag_present
74	.byte	0                               # EOM(1)
75	.byte	0                               # EOM(2)
76	.byte	3                               # Abbreviation Code
77	.byte	5                               # DW_TAG_formal_parameter
78	.byte	0                               # DW_CHILDREN_no
79	.byte	2                               # DW_AT_location
80	.byte	24                              # DW_FORM_exprloc
81	.byte	3                               # DW_AT_name
82	.byte	37                              # DW_FORM_strx1
83	.byte	58                              # DW_AT_decl_file
84	.byte	11                              # DW_FORM_data1
85	.byte	59                              # DW_AT_decl_line
86	.byte	11                              # DW_FORM_data1
87	.byte	73                              # DW_AT_type
88	.byte	19                              # DW_FORM_ref4
89	.byte	0                               # EOM(1)
90	.byte	0                               # EOM(2)
91	.byte	4                               # Abbreviation Code
92	.byte	36                              # DW_TAG_base_type
93	.byte	0                               # DW_CHILDREN_no
94	.byte	3                               # DW_AT_name
95	.byte	37                              # DW_FORM_strx1
96	.byte	62                              # DW_AT_encoding
97	.byte	11                              # DW_FORM_data1
98	.byte	11                              # DW_AT_byte_size
99	.byte	11                              # DW_FORM_data1
100	.byte	0                               # EOM(1)
101	.byte	0                               # EOM(2)
102	.byte	0                               # EOM(3)
103	.section	.debug_info,"",@progbits
104.Lcu_begin0:
105	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
106.Ldebug_info_start0:
107	.short	5                               # DWARF version number
108	.byte	1                               # DWARF Unit Type
109	.byte	8                               # Address Size (in bytes)
110	.long	.debug_abbrev                   # Offset Into Abbrev. Section
111	.byte	1                               # Abbrev [1] 0xc:0x37 DW_TAG_compile_unit
112	.byte	0                               # DW_AT_producer
113	.short	33                              # DW_AT_language
114	.byte	1                               # DW_AT_name
115	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base
116	.long	.Lline_table_start0             # DW_AT_stmt_list
117	.byte	2                               # DW_AT_comp_dir
118	.byte	0                               # DW_AT_low_pc
119	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
120	.long	.Laddr_table_base0              # DW_AT_addr_base
121	.byte	2                               # Abbrev [2] 0x23:0x1b DW_TAG_subprogram
122	.byte	0                               # DW_AT_low_pc
123	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
124	.byte	1                               # DW_AT_frame_base
125	.byte	87
126                                        # DW_AT_call_all_calls
127	.byte	3                               # DW_AT_linkage_name
128	.byte	4                               # DW_AT_name
129	.byte	0                               # DW_AT_decl_file
130	.byte	1                               # DW_AT_decl_line
131	.long	62                              # DW_AT_type
132                                        # DW_AT_external
133	.byte	3                               # Abbrev [3] 0x33:0xa DW_TAG_formal_parameter
134	.byte	1                               # DW_AT_location
135	.byte	85
136	.byte	6                               # DW_AT_name
137	.byte	0                               # DW_AT_decl_file
138	.byte	1                               # DW_AT_decl_line
139	.long	62                              # DW_AT_type
140	.byte	0                               # End Of Children Mark
141	.byte	4                               # Abbrev [4] 0x3e:0x4 DW_TAG_base_type
142	.byte	5                               # DW_AT_name
143	.byte	5                               # DW_AT_encoding
144	.byte	4                               # DW_AT_byte_size
145	.byte	0                               # End Of Children Mark
146.Ldebug_info_end0:
147	.section	.debug_str_offsets,"",@progbits
148	.long	32                              # Length of String Offsets Set
149	.short	5
150	.short	0
151.Lstr_offsets_base0:
152	.section	.debug_str,"MS",@progbits,1
153.Linfo_string0:
154	.asciz	"clang version 15.0.0" # string offset=0
155.Linfo_string1:
156	.asciz	"helper.cpp"                    # string offset=134
157.Linfo_string2:
158	.asciz	"." # string offset=145
159.Linfo_string3:
160	.asciz	"_Z4foo0i"                      # string offset=193
161.Linfo_string4:
162	.asciz	"foo0"                          # string offset=202
163.Linfo_string5:
164	.asciz	"int"                           # string offset=207
165.Linfo_string6:
166	.asciz	"argc"                          # string offset=211
167	.section	.debug_str_offsets,"",@progbits
168	.long	.Linfo_string0
169	.long	.Linfo_string1
170	.long	.Linfo_string2
171	.long	.Linfo_string3
172	.long	.Linfo_string4
173	.long	.Linfo_string5
174	.long	.Linfo_string6
175	.section	.debug_addr,"",@progbits
176	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
177.Ldebug_addr_start0:
178	.short	5                               # DWARF version number
179	.byte	8                               # Address size
180	.byte	0                               # Segment selector size
181.Laddr_table_base0:
182	.quad	.Lfunc_begin0
183.Ldebug_addr_end0:
184	.ident	"clang version 15.0.0"
185	.section	".note.GNU-stack","",@progbits
186	.addrsig
187	.section	.debug_line,"",@progbits
188.Lline_table_start0:
189