xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.dwarf2/dw2-dup-frame.S (revision 627f7eb200a4419d89b531d55fccd2ee3ffdcde0)
1/*
2   Copyright 2013-2019 Free Software Foundation, Inc.
3
4   This program is free software; you can redistribute it and/or modify
5   it under the terms of the GNU General Public License as published by
6   the Free Software Foundation; either version 3 of the License, or
7   (at your option) any later version.
8
9   This program is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12   GNU General Public License for more details.
13
14   You should have received a copy of the GNU General Public License
15   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
16
17	/* The FDE entry for "stop_frame" in the .debug_frame section has
18	been hand modified to mark a set of registers as DW_CFA_same_value.
19	Otherwise this file is as generated by gcc 4.7.2 for x86_64.  */
20	.file	"dw2-dup-frame.c"
21	.text
22.Ltext0:
23	.globl	stop_frame
24	.type	stop_frame, @function
25stop_frame:
26.LFB0:
27	.file 1 "dw2-dup-frame.c"
28	.loc 1 19 0
29	pushq	%rbp
30.LCFI0:
31	movq	%rsp, %rbp
32.LCFI1:
33	.loc 1 22 0
34	popq	%rbp
35.LCFI2:
36	ret
37.LFE0:
38	.size	stop_frame, .-stop_frame
39	.globl	first_frame
40	.type	first_frame, @function
41first_frame:
42.LFB1:
43	.loc 1 26 0
44	pushq	%rbp
45.LCFI3:
46	movq	%rsp, %rbp
47.LCFI4:
48	.loc 1 27 0
49	movl	$0, %eax
50	call	stop_frame
51	.loc 1 28 0
52	popq	%rbp
53.LCFI5:
54	ret
55.LFE1:
56	.size	first_frame, .-first_frame
57	.globl	main
58	.type	main, @function
59main:
60.LFB2:
61	.loc 1 32 0
62	pushq	%rbp
63.LCFI6:
64	movq	%rsp, %rbp
65.LCFI7:
66	.loc 1 33 0
67	movl	$0, %eax
68	call	first_frame
69	.loc 1 35 0
70	movl	$0, %eax
71	.loc 1 36 0
72	popq	%rbp
73.LCFI8:
74	ret
75.LFE2:
76	.size	main, .-main
77	.section	.debug_frame,"",@progbits
78.Lframe0:
79	.long	.LECIE0-.LSCIE0
80.LSCIE0:
81	.long	0xffffffff
82	.byte	0x1
83	.string	""
84	.uleb128 0x1
85	.sleb128 -8
86	.byte	0x10
87	.byte	0xc
88	.uleb128 0x7
89	.uleb128 0x8
90	.byte	0x90
91	.uleb128 0x1
92	.align 8
93.LECIE0:
94	/* This FDE entry, for stop_frame was modified to mark
95	   registers 0 -> 16 (rax..ra/rip) as being DW_CFA_same_value.  */
96.LSFDE0:
97	.long	.LEFDE0-.LASFDE0
98.LASFDE0:
99	.long	.Lframe0
100	.quad	.LFB0
101	.quad	.LFE0-.LFB0
102
103		/* START OF NEW CONTENT.  */
104	.byte	0x8			/* DW_CFA_same_value */
105	.uleb128 0x0			/*   ULEB128 register */
106	.byte	0x8			/* DW_CFA_same_value */
107	.uleb128 0x1			/*   ULEB128 register */
108	.byte	0x8			/* DW_CFA_same_value */
109	.uleb128 0x2			/*   ULEB128 register */
110	.byte	0x8			/* DW_CFA_same_value */
111	.uleb128 0x3			/*   ULEB128 register */
112	.byte	0x8			/* DW_CFA_same_value */
113	.uleb128 0x4			/*   ULEB128 register */
114	.byte	0x8			/* DW_CFA_same_value */
115	.uleb128 0x5			/*   ULEB128 register */
116	.byte	0x8			/* DW_CFA_same_value */
117	.uleb128 0x6			/*   ULEB128 register */
118	.byte	0x8			/* DW_CFA_same_value */
119	.uleb128 0x7			/*   ULEB128 register */
120	.byte	0x8			/* DW_CFA_same_value */
121	.uleb128 0x8			/*   ULEB128 register */
122	.byte	0x8			/* DW_CFA_same_value */
123	.uleb128 0x9			/*   ULEB128 register */
124	.byte	0x8			/* DW_CFA_same_value */
125	.uleb128 0xa			/*   ULEB128 register */
126	.byte	0x8			/* DW_CFA_same_value */
127	.uleb128 0xb			/*   ULEB128 register */
128	.byte	0x8			/* DW_CFA_same_value */
129	.uleb128 0xc			/*   ULEB128 register */
130	.byte	0x8			/* DW_CFA_same_value */
131	.uleb128 0xd			/*   ULEB128 register */
132	.byte	0x8			/* DW_CFA_same_value */
133	.uleb128 0xe			/*   ULEB128 register */
134	.byte	0x8			/* DW_CFA_same_value */
135	.uleb128 0xf			/*   ULEB128 register */
136	.byte	0x8			/* DW_CFA_same_value */
137	.uleb128 0x10			 /*   ULEB128 register */
138		/* END OF NEW CONTENT.  */
139
140	.byte	0x4
141	.long	.LCFI0-.LFB0
142	.byte	0xe
143	.uleb128 0x10
144	.byte	0x86
145	.uleb128 0x2
146	.byte	0x4
147	.long	.LCFI1-.LCFI0
148	.byte	0xd
149	.uleb128 0x6
150	.byte	0x4
151	.long	.LCFI2-.LCFI1
152	.byte	0xc
153	.uleb128 0x7
154	.uleb128 0x8
155	.align 8
156.LEFDE0:
157.LSFDE2:
158	.long	.LEFDE2-.LASFDE2
159.LASFDE2:
160	.long	.Lframe0
161	.quad	.LFB1
162	.quad	.LFE1-.LFB1
163	.byte	0x4
164	.long	.LCFI3-.LFB1
165	.byte	0xe
166	.uleb128 0x10
167	.byte	0x86
168	.uleb128 0x2
169	.byte	0x4
170	.long	.LCFI4-.LCFI3
171	.byte	0xd
172	.uleb128 0x6
173	.byte	0x4
174	.long	.LCFI5-.LCFI4
175	.byte	0xc
176	.uleb128 0x7
177	.uleb128 0x8
178	.align 8
179.LEFDE2:
180.LSFDE4:
181	.long	.LEFDE4-.LASFDE4
182.LASFDE4:
183	.long	.Lframe0
184	.quad	.LFB2
185	.quad	.LFE2-.LFB2
186	.byte	0x4
187	.long	.LCFI6-.LFB2
188	.byte	0xe
189	.uleb128 0x10
190	.byte	0x86
191	.uleb128 0x2
192	.byte	0x4
193	.long	.LCFI7-.LCFI6
194	.byte	0xd
195	.uleb128 0x6
196	.byte	0x4
197	.long	.LCFI8-.LCFI7
198	.byte	0xc
199	.uleb128 0x7
200	.uleb128 0x8
201	.align 8
202.LEFDE4:
203	.section	.eh_frame,"a",@progbits
204.Lframe1:
205	.long	.LECIE1-.LSCIE1
206.LSCIE1:
207	.long	0
208	.byte	0x1
209	.string	"zR"
210	.uleb128 0x1
211	.sleb128 -8
212	.byte	0x10
213	.uleb128 0x1
214	.byte	0x3
215	.byte	0xc
216	.uleb128 0x7
217	.uleb128 0x8
218	.byte	0x90
219	.uleb128 0x1
220	.align 8
221.LECIE1:
222.LSFDE7:
223	.long	.LEFDE7-.LASFDE7
224.LASFDE7:
225	.long	.LASFDE7-.Lframe1
226	.long	.LFB0
227	.long	.LFE0-.LFB0
228	.uleb128 0
229	.byte	0x4
230	.long	.LCFI0-.LFB0
231	.byte	0xe
232	.uleb128 0x10
233	.byte	0x86
234	.uleb128 0x2
235	.byte	0x4
236	.long	.LCFI1-.LCFI0
237	.byte	0xd
238	.uleb128 0x6
239	.byte	0x4
240	.long	.LCFI2-.LCFI1
241	.byte	0xc
242	.uleb128 0x7
243	.uleb128 0x8
244	.align 8
245.LEFDE7:
246.LSFDE9:
247	.long	.LEFDE9-.LASFDE9
248.LASFDE9:
249	.long	.LASFDE9-.Lframe1
250	.long	.LFB1
251	.long	.LFE1-.LFB1
252	.uleb128 0
253	.byte	0x4
254	.long	.LCFI3-.LFB1
255	.byte	0xe
256	.uleb128 0x10
257	.byte	0x86
258	.uleb128 0x2
259	.byte	0x4
260	.long	.LCFI4-.LCFI3
261	.byte	0xd
262	.uleb128 0x6
263	.byte	0x4
264	.long	.LCFI5-.LCFI4
265	.byte	0xc
266	.uleb128 0x7
267	.uleb128 0x8
268	.align 8
269.LEFDE9:
270.LSFDE11:
271	.long	.LEFDE11-.LASFDE11
272.LASFDE11:
273	.long	.LASFDE11-.Lframe1
274	.long	.LFB2
275	.long	.LFE2-.LFB2
276	.uleb128 0
277	.byte	0x4
278	.long	.LCFI6-.LFB2
279	.byte	0xe
280	.uleb128 0x10
281	.byte	0x86
282	.uleb128 0x2
283	.byte	0x4
284	.long	.LCFI7-.LCFI6
285	.byte	0xd
286	.uleb128 0x6
287	.byte	0x4
288	.long	.LCFI8-.LCFI7
289	.byte	0xc
290	.uleb128 0x7
291	.uleb128 0x8
292	.align 8
293.LEFDE11:
294	.text
295.Letext0:
296	.section	.debug_info,"",@progbits
297.Ldebug_info0:
298	.long	0x8c
299	.value	0x2
300	.long	.Ldebug_abbrev0
301	.byte	0x8
302	.uleb128 0x1
303	.long	.LASF2
304	.byte	0x1
305	.long	.LASF3
306	.long	.LASF4
307	.quad	.Ltext0
308	.quad	.Letext0
309	.long	.Ldebug_line0
310	.uleb128 0x2
311	.byte	0x1
312	.long	.LASF0
313	.byte	0x1
314	.byte	0x12
315	.quad	.LFB0
316	.quad	.LFE0
317	.long	.LLST0
318	.byte	0x1
319	.uleb128 0x3
320	.byte	0x1
321	.long	.LASF1
322	.byte	0x1
323	.byte	0x19
324	.quad	.LFB1
325	.quad	.LFE1
326	.long	.LLST1
327	.byte	0x1
328	.uleb128 0x4
329	.byte	0x1
330	.long	.LASF5
331	.byte	0x1
332	.byte	0x1f
333	.long	0x88
334	.quad	.LFB2
335	.quad	.LFE2
336	.long	.LLST2
337	.byte	0x1
338	.uleb128 0x5
339	.byte	0x4
340	.byte	0x5
341	.string	"int"
342	.byte	0
343	.section	.debug_abbrev,"",@progbits
344.Ldebug_abbrev0:
345	.uleb128 0x1
346	.uleb128 0x11
347	.byte	0x1
348	.uleb128 0x25
349	.uleb128 0xe
350	.uleb128 0x13
351	.uleb128 0xb
352	.uleb128 0x3
353	.uleb128 0xe
354	.uleb128 0x1b
355	.uleb128 0xe
356	.uleb128 0x11
357	.uleb128 0x1
358	.uleb128 0x12
359	.uleb128 0x1
360	.uleb128 0x10
361	.uleb128 0x6
362	.byte	0
363	.byte	0
364	.uleb128 0x2
365	.uleb128 0x2e
366	.byte	0
367	.uleb128 0x3f
368	.uleb128 0xc
369	.uleb128 0x3
370	.uleb128 0xe
371	.uleb128 0x3a
372	.uleb128 0xb
373	.uleb128 0x3b
374	.uleb128 0xb
375	.uleb128 0x11
376	.uleb128 0x1
377	.uleb128 0x12
378	.uleb128 0x1
379	.uleb128 0x40
380	.uleb128 0x6
381	.uleb128 0x2117
382	.uleb128 0xc
383	.byte	0
384	.byte	0
385	.uleb128 0x3
386	.uleb128 0x2e
387	.byte	0
388	.uleb128 0x3f
389	.uleb128 0xc
390	.uleb128 0x3
391	.uleb128 0xe
392	.uleb128 0x3a
393	.uleb128 0xb
394	.uleb128 0x3b
395	.uleb128 0xb
396	.uleb128 0x11
397	.uleb128 0x1
398	.uleb128 0x12
399	.uleb128 0x1
400	.uleb128 0x40
401	.uleb128 0x6
402	.uleb128 0x2116
403	.uleb128 0xc
404	.byte	0
405	.byte	0
406	.uleb128 0x4
407	.uleb128 0x2e
408	.byte	0
409	.uleb128 0x3f
410	.uleb128 0xc
411	.uleb128 0x3
412	.uleb128 0xe
413	.uleb128 0x3a
414	.uleb128 0xb
415	.uleb128 0x3b
416	.uleb128 0xb
417	.uleb128 0x49
418	.uleb128 0x13
419	.uleb128 0x11
420	.uleb128 0x1
421	.uleb128 0x12
422	.uleb128 0x1
423	.uleb128 0x40
424	.uleb128 0x6
425	.uleb128 0x2116
426	.uleb128 0xc
427	.byte	0
428	.byte	0
429	.uleb128 0x5
430	.uleb128 0x24
431	.byte	0
432	.uleb128 0xb
433	.uleb128 0xb
434	.uleb128 0x3e
435	.uleb128 0xb
436	.uleb128 0x3
437	.uleb128 0x8
438	.byte	0
439	.byte	0
440	.byte	0
441	.section	.debug_loc,"",@progbits
442.Ldebug_loc0:
443.LLST0:
444	.quad	.LFB0-.Ltext0
445	.quad	.LCFI0-.Ltext0
446	.value	0x2
447	.byte	0x77
448	.sleb128 8
449	.quad	.LCFI0-.Ltext0
450	.quad	.LCFI1-.Ltext0
451	.value	0x2
452	.byte	0x77
453	.sleb128 16
454	.quad	.LCFI1-.Ltext0
455	.quad	.LCFI2-.Ltext0
456	.value	0x2
457	.byte	0x76
458	.sleb128 16
459	.quad	.LCFI2-.Ltext0
460	.quad	.LFE0-.Ltext0
461	.value	0x2
462	.byte	0x77
463	.sleb128 8
464	.quad	0
465	.quad	0
466.LLST1:
467	.quad	.LFB1-.Ltext0
468	.quad	.LCFI3-.Ltext0
469	.value	0x2
470	.byte	0x77
471	.sleb128 8
472	.quad	.LCFI3-.Ltext0
473	.quad	.LCFI4-.Ltext0
474	.value	0x2
475	.byte	0x77
476	.sleb128 16
477	.quad	.LCFI4-.Ltext0
478	.quad	.LCFI5-.Ltext0
479	.value	0x2
480	.byte	0x76
481	.sleb128 16
482	.quad	.LCFI5-.Ltext0
483	.quad	.LFE1-.Ltext0
484	.value	0x2
485	.byte	0x77
486	.sleb128 8
487	.quad	0
488	.quad	0
489.LLST2:
490	.quad	.LFB2-.Ltext0
491	.quad	.LCFI6-.Ltext0
492	.value	0x2
493	.byte	0x77
494	.sleb128 8
495	.quad	.LCFI6-.Ltext0
496	.quad	.LCFI7-.Ltext0
497	.value	0x2
498	.byte	0x77
499	.sleb128 16
500	.quad	.LCFI7-.Ltext0
501	.quad	.LCFI8-.Ltext0
502	.value	0x2
503	.byte	0x76
504	.sleb128 16
505	.quad	.LCFI8-.Ltext0
506	.quad	.LFE2-.Ltext0
507	.value	0x2
508	.byte	0x77
509	.sleb128 8
510	.quad	0
511	.quad	0
512	.section	.debug_aranges,"",@progbits
513	.long	0x2c
514	.value	0x2
515	.long	.Ldebug_info0
516	.byte	0x8
517	.byte	0
518	.value	0
519	.value	0
520	.quad	.Ltext0
521	.quad	.Letext0-.Ltext0
522	.quad	0
523	.quad	0
524	.section	.debug_line,"",@progbits
525.Ldebug_line0:
526	.section	.debug_str,"MS",@progbits,1
527.LASF0:
528	.string	"stop_frame"
529.LASF3:
530	.string	"dw2-reg-undefined.c"
531.LASF2:
532	.string	"GNU C 4.7.2"
533.LASF1:
534	.string	"first_frame"
535.LASF5:
536	.string	"main"
537.LASF4:
538	.string	"/home/username/src/gdb/testsuite/gdb.dwarf2"
539	.ident	"GCC: (GNU) 4.7.2"
540	.section	.note.GNU-stack,"",@progbits
541