]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.dlang/watch-loc.c
Update copyright year range in all GDB files
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.dlang / watch-loc.c
1 /* Copyright 2017-2021 Free Software Foundation, Inc.
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 3 of the License, or
6 (at your option) any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http://www.gnu.org/licenses/>. */
15
16
17 /* DWARF will describe these contents as being inside a D module. */
18
19 typedef struct tstruct
20 {
21 } tstruct;
22
23 tstruct my_data;
24
25 int _Dmain (void)
26 {
27 asm ("_Dmain_label: .globl _Dmain_label");
28 return 0;
29 }
30
31 asm ("_Dmain_end: .globl _Dmain_end");
32
33 int
34 main (void)
35 {
36 return _Dmain ();
37 }
38
39 #ifdef WITH_DEBUG_SECTIONS
40 #define xstr(s) str(s)
41 #define str(s) #s
42 /* The .debug_names-based index support depends on .debug_aranges
43 generated by GCC. (.gdb_index includes a gdb-generated map
44 instead.) */
45 asm (
46 " .pushsection .debug_info,\"\",%progbits \n"
47 ".Lcu1_begin:"
48 " .popsection \n"
49 " .pushsection .debug_aranges,\"\",%progbits \n"
50 " .4byte .Laranges_end - .Laranges_start \n" // Length of Address Ranges Info
51 ".Laranges_start: \n"
52 " .2byte 0x2 \n" // DWARF Version
53 " .4byte .Lcu1_begin\n" // .Ldebug_info0 - Offset of Compilation Unit Info
54 " .byte 4 \n" // Size of Address
55 " .byte 0 \n" // Size of Segment Descriptor
56 " .2byte 0 \n" // Pad to 16 byte boundary
57 " .2byte 0 \n"
58 " .4byte " xstr(DMAIN_START_0) xstr(DMAIN_START_1) xstr(DMAIN_START_2) "\n" // Address
59 " .4byte " xstr(DMAIN_LENGTH) "\n" // Length
60 " .4byte 0 \n"
61 " .4byte 0 \n"
62 ".Laranges_end: \n"
63 " .popsection \n"
64 );
65 #endif