xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c (revision 82d56013d7b633d116a93943de88e08335357a7c)
1 /* This testcase is part of GDB, the GNU debugger.
2 
3    Copyright 2010-2019 Free Software Foundation, Inc.
4 
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9 
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14 
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17 
18 asm (".globl cu_text_start");
19 asm ("cu_text_start:");
20 
21 asm (".globl func_nofb_start");
22 asm ("func_nofb_start:");
23 
24 void
25 func_nofb (void)
26 {
27   /* int func_nofb_var; */
28   /* int func_nofb_var2; */
29 
30   extern void func_nofb_marker (void);
31   func_nofb_marker ();
32 }
33 
34 asm (".globl func_nofb_end");
35 asm ("func_nofb_end:");
36 
37 asm (".globl func_loopfb_start");
38 asm ("func_loopfb_start:");
39 
40 void
41 func_loopfb (void)
42 {
43   /* int func_loopfb_var; */
44   /* int func_loopfb_var2; */
45 
46   extern void func_loopfb_marker (void);
47   func_loopfb_marker ();
48 }
49 
50 asm (".globl func_loopfb_end");
51 asm ("func_loopfb_end:");
52 
53 asm (".globl cu_text_end");
54 asm ("cu_text_end:");
55 
56 /* The .debug_names-based index support depends on .debug_aranges
57    generated by GCC.  (.gdb_index includes a gdb-generated map
58    instead.)  */
59 asm (
60 "	.pushsection	.debug_aranges,\"\",%progbits \n"
61 "	.4byte	.Laranges_end - .Laranges_start \n"	// Length of Address Ranges Info
62 ".Laranges_start: \n"
63 "	.2byte	0x2 \n"	// DWARF Version
64 "	.4byte	0 \n" // .Ldebug_info0 - Offset of Compilation Unit Info
65 "	.byte	4 \n"	// Size of Address
66 "	.byte	0 \n"	// Size of Segment Descriptor
67 "	.2byte	0 \n"	// Pad to 16 byte boundary
68 "	.2byte	0 \n"
69 "	.4byte	cu_text_start \n"	// Address
70 "	.4byte	cu_text_end - cu_text_start \n"	// Length
71 "	.4byte	0 \n"
72 "	.4byte	0 \n"
73 ".Laranges_end: \n"
74 "	.popsection \n"
75 );
76