]>
Commit | Line | Data |
---|---|---|
559a7a62 JK |
1 | /* This testcase is part of GDB, the GNU debugger. |
2 | ||
1d506c26 | 3 | Copyright 2011-2024 Free Software Foundation, Inc. |
559a7a62 JK |
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 | ||
2abf49e1 MR |
18 | #if PTRBITS == 64 |
19 | # define PTRBYTE .8byte | |
20 | #elif PTRBITS == 32 | |
21 | # define PTRBYTE .4byte | |
22 | #else | |
23 | # error "Unsupported pointer size" | |
24 | #endif | |
25 | ||
559a7a62 JK |
26 | .section .debug_info |
27 | .Lcu1_begin: | |
28 | /* CU header */ | |
29 | .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */ | |
30 | .Lcu1_start: | |
31 | .2byte 2 /* DWARF Version */ | |
32 | .4byte .Labbrev1_begin /* Offset into abbrev section */ | |
2abf49e1 | 33 | .byte PTRBITS / 8 /* Pointer size */ |
559a7a62 JK |
34 | |
35 | /* CU die */ | |
36 | .uleb128 1 /* Abbrev: DW_TAG_compile_unit */ | |
37 | .ascii "file1.txt\0" /* DW_AT_name */ | |
38 | .ascii "GNU C 3.3.3\0" /* DW_AT_producer */ | |
39 | .byte 8 /* DW_AT_language (DW_LANG_Fortran90) */ | |
2abf49e1 MR |
40 | PTRBYTE cu_text_start /* DW_AT_low_pc */ |
41 | PTRBYTE cu_text_end /* DW_AT_high_pc */ | |
559a7a62 JK |
42 | |
43 | .uleb128 3 /* Abbrev: DW_TAG_subprogram */ | |
44 | .byte 1 /* DW_AT_external */ | |
45 | .ascii "FUNC_lang\0" /* DW_AT_name */ | |
2abf49e1 MR |
46 | PTRBYTE FUNC_lang_start /* DW_AT_low_pc */ |
47 | PTRBYTE FUNC_lang_end /* DW_AT_high_pc */ | |
559a7a62 JK |
48 | .byte 1 /* DW_AT_prototyped */ |
49 | .4byte .Ltype - .Lcu1_begin /* DW_AT_type */ | |
50 | ||
51 | .Ltype: | |
52 | .uleb128 0x5 /* Abbrev: DW_TAG_base_type */ | |
53 | .byte 0x4 /* DW_AT_byte_size */ | |
54 | .byte 0x5 /* DW_AT_encoding */ | |
55 | .ascii "foo\0" /* DW_AT_name */ | |
56 | ||
57 | .byte 0 /* End of children of CU */ | |
58 | .Lcu1_end: | |
59 | ||
927aa2e7 JK |
60 | /* The .debug_names-based index support depends on |
61 | .debug_aranges generated by GCC. (.gdb_index includes a | |
62 | gdb-generated map instead.) */ | |
a2ee3a8f TV |
63 | #ifdef __arm__ |
64 | .section .debug_aranges,"",%progbits | |
65 | #else | |
927aa2e7 | 66 | .section .debug_aranges,"",@progbits |
a2ee3a8f | 67 | #endif |
927aa2e7 JK |
68 | .4byte .Laranges_end - .Laranges_start // Length of Address Ranges Info |
69 | .Laranges_start: | |
70 | .2byte 0x2 // DWARF Version | |
77e7aaa4 | 71 | .4byte .Lcu1_begin // .Ldebug_info0 - Offset of Compilation Unit Info |
927aa2e7 JK |
72 | .byte PTRBITS / 8 // Size of Address |
73 | .byte 0 // Size of Segment Descriptor | |
74 | .2byte 0 // Pad to 16 byte boundary | |
75 | .2byte 0 | |
76 | PTRBYTE cu_text_start // Address | |
77 | PTRBYTE 0x1000 // cu_text_end - cu_text_start // Length | |
78 | PTRBYTE 0 | |
79 | PTRBYTE 0 | |
80 | .Laranges_end: | |
81 | ||
559a7a62 JK |
82 | /* Abbrev table */ |
83 | .section .debug_abbrev | |
84 | .Labbrev1_begin: | |
85 | .uleb128 1 /* Abbrev code */ | |
86 | .uleb128 0x11 /* DW_TAG_compile_unit */ | |
87 | .byte 1 /* has_children */ | |
88 | .uleb128 0x3 /* DW_AT_name */ | |
89 | .uleb128 0x8 /* DW_FORM_string */ | |
90 | .uleb128 0x25 /* DW_AT_producer */ | |
91 | .uleb128 0x8 /* DW_FORM_string */ | |
92 | .uleb128 0x13 /* DW_AT_language */ | |
93 | .uleb128 0xb /* DW_FORM_data1 */ | |
94 | .uleb128 0x11 /* DW_AT_low_pc */ | |
95 | .uleb128 0x1 /* DW_FORM_addr */ | |
96 | .uleb128 0x12 /* DW_AT_high_pc */ | |
97 | .uleb128 0x1 /* DW_FORM_addr */ | |
98 | .byte 0x0 /* Terminator */ | |
99 | .byte 0x0 /* Terminator */ | |
100 | ||
101 | .uleb128 3 /* Abbrev code */ | |
102 | .uleb128 0x2e /* DW_TAG_subprogram */ | |
103 | .byte 0 /* has_children */ | |
104 | .uleb128 0x3f /* DW_AT_external */ | |
105 | .uleb128 0xc /* DW_FORM_flag */ | |
106 | .uleb128 0x3 /* DW_AT_name */ | |
107 | .uleb128 0x8 /* DW_FORM_string */ | |
108 | .uleb128 0x11 /* DW_AT_low_pc */ | |
109 | .uleb128 0x1 /* DW_FORM_addr */ | |
110 | .uleb128 0x12 /* DW_AT_high_pc */ | |
111 | .uleb128 0x1 /* DW_FORM_addr */ | |
112 | .uleb128 0x27 /* DW_AT_prototyped */ | |
113 | .uleb128 0xc /* DW_FORM_flag */ | |
114 | .uleb128 0x49 /* DW_AT_type */ | |
115 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
116 | .byte 0x0 /* Terminator */ | |
117 | .byte 0x0 /* Terminator */ | |
118 | ||
119 | .uleb128 0x5 /* Abbrev code */ | |
120 | .uleb128 0x24 /* DW_TAG_base_type */ | |
121 | .byte 0x0 /* DW_children_no */ | |
122 | .uleb128 0xb /* DW_AT_byte_size */ | |
123 | .uleb128 0xb /* DW_FORM_data1 */ | |
124 | .uleb128 0x3e /* DW_AT_encoding */ | |
125 | .uleb128 0xb /* DW_FORM_data1 */ | |
126 | .uleb128 0x3 /* DW_AT_name */ | |
127 | .uleb128 0x8 /* DW_FORM_string */ | |
128 | .byte 0x0 /* Terminator */ | |
129 | .byte 0x0 /* Terminator */ | |
130 | ||
131 | .byte 0x0 /* Terminator */ | |
132 | .byte 0x0 /* Terminator */ | |
a2ee3a8f TV |
133 | #ifdef __arm__ |
134 | .section .note.GNU-stack,"",%progbits | |
135 | #else | |
0f2cd53c | 136 | .section .note.GNU-stack,"",@progbits |
a2ee3a8f | 137 | #endif |