print PTR.all where PTR is an Ada thin pointer
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.dwarf2 / implptr-64bit.S
CommitLineData
ecd75fc8 1/* Copyright 2010-2014 Free Software Foundation, Inc.
181cebd4
JK
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 .section .debug_info
17d:
18 /* Length of Compilation Unit Info */
19#if OFFSET_SIZE == 4
20# define OFFSET .4byte
8b9737bf
TT
21# define HEADER_LINE1
22# define HEADER_LINE2(END) .4byte END - 1f
181cebd4
JK
23#elif OFFSET_SIZE == 8
24# define OFFSET .8byte
8b9737bf
TT
25# define HEADER_LINE1 .4byte 0xffffffff
26# define HEADER_LINE2(END) .8byte END - 1f
181cebd4
JK
27#else
28# error
29#endif
30#if ADDR_SIZE == 4
31# define ADDR .4byte
32#elif ADDR_SIZE == 8
33# define ADDR .8byte
34#else
35# error
36#endif
37#if REF_ADDR_SIZE == 4
38# define REF_ADDR .4byte
39#elif REF_ADDR_SIZE == 8
40# define REF_ADDR .8byte
41#else
42# error
43#endif
8b9737bf
TT
44
45#if TWO_CU
46# define END1 .Lcu_end_1
47#else
48# define END1 debug_end
49#endif
50
51 HEADER_LINE1
52 HEADER_LINE2(END1)
53
181cebd4
JK
541:
55 .2byte DWARF_VERSION /* DWARF version number */
56 OFFSET .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
57 .byte ADDR_SIZE /* Pointer Size (in bytes) */
58
59 .uleb128 0x1 /* (DIE (0xb) DW_TAG_compile_unit) */
60 .ascii "GNU C 4.4.3\0" /* DW_AT_producer */
61 .byte 0x1 /* DW_AT_language */
62 .ascii "1.c\0" /* DW_AT_name */
63
64.Ltype_int:
65 .uleb128 0x7 /* DW_TAG_base_type */
66 .byte 0x4 /* DW_AT_byte_size */
67 .byte 0x5 /* DW_AT_encoding */
68 .ascii "int\0" /* DW_AT_name */
69
70.Ltype_struct:
71 .uleb128 0x2 /* DW_TAG_structure_type */
72 .ascii "s\0" /* DW_AT_name */
73 .byte 4 /* DW_AT_byte_size */
74
75 .uleb128 0x3 /* DW_TAG_member */
76 .ascii "f\0" /* DW_AT_name */
77 .4byte .Ltype_int - d /* DW_AT_type */
78 .byte 0 /* DW_AT_data_member_location */
79
80 .byte 0x0 /* end of children of DW_TAG_structure_type */
81
181cebd4
JK
82.Ltype_structptr:
83 .uleb128 0x5 /* DW_TAG_pointer_type */
84 .byte ADDR_SIZE /* DW_AT_byte_size */
85 .4byte .Ltype_struct - d /* DW_AT_type */
86
87.Lvar_out:
88 .uleb128 0x4 /* (DW_TAG_variable) */
89 .ascii "v\0" /* DW_AT_name */
90 .byte 2f - 1f /* DW_AT_location: DW_FORM_block1 */
911:
92 .byte 0x9e /* DW_OP_implicit_value */
93 .uleb128 2f - 3f
943:
95 .byte 1, 1, 1, 1
962:
8b9737bf
TT
97 REF_ADDR .Ltype_struct - d /* DW_AT_type */
98
99#if TWO_CU
100 .byte 0x0 /* end of children of CU */
101.Lcu_end_1:
102
103 HEADER_LINE1
104 HEADER_LINE2 (debug_end)
105
1061:
107 .2byte DWARF_VERSION /* DWARF version number */
108 OFFSET .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
109 .byte ADDR_SIZE /* Pointer Size (in bytes) */
110
111 .uleb128 0x1 /* (DIE (0xb) DW_TAG_compile_unit) */
112 .ascii "GNU C 4.4.3\0" /* DW_AT_producer */
113 .byte 0x1 /* DW_AT_language */
114 .ascii "1.c\0" /* DW_AT_name */
115#endif
116
117 .uleb128 6 /* Abbrev: DW_TAG_subprogram */
118 .ascii "main\0" /* DW_AT_name */
119 ADDR main /* DW_AT_low_pc */
120 ADDR main + 0x100 /* DW_AT_high_pc */
121 REF_ADDR .Ltype_int - d /* DW_AT_type */
122 .byte 1 /* DW_AT_external */
181cebd4
JK
123
124 .uleb128 0x4 /* (DW_TAG_variable) */
125 .ascii "p\0" /* DW_AT_name */
126 .byte 2f - 1f /* DW_AT_location: DW_FORM_block1 */
1271:
128 .byte 0xf2 /* DW_OP_GNU_implicit_pointer */
129 REF_ADDR .Lvar_out - d /* referenced DIE */
130 .sleb128 0 /* offset */
1312:
8b9737bf 132 REF_ADDR .Ltype_structptr - d /* DW_AT_type */
181cebd4
JK
133
134 .byte 0x0 /* end of children of main */
135
136 .byte 0x0 /* end of children of CU */
137debug_end:
138
139 .section .debug_abbrev
140.Ldebug_abbrev0:
141
142 .uleb128 0x1 /* (abbrev code) */
143 .uleb128 0x11 /* (TAG: DW_TAG_compile_unit) */
144 .byte 0x1 /* DW_children_yes */
145 .uleb128 0x25 /* (DW_AT_producer) */
146 .uleb128 0x8 /* (DW_FORM_string) */
147 .uleb128 0x13 /* (DW_AT_language) */
148 .uleb128 0xb /* (DW_FORM_data1) */
149 .uleb128 0x3 /* (DW_AT_name) */
150 .uleb128 0x8 /* (DW_FORM_string) */
151 .byte 0x0
152 .byte 0x0
153
154 .uleb128 0x2 /* (abbrev code) */
155 .uleb128 0x13 /* (TAG: DW_TAG_structure_type) */
156 .byte 0x1 /* DW_children_yes */
157 .uleb128 0x3 /* (DW_AT_name) */
158 .uleb128 0x8 /* (DW_FORM_string) */
159 .uleb128 0xb /* (DW_AT_byte_size) */
160 .uleb128 0xb /* (DW_FORM_data1) */
161 .byte 0
162 .byte 0
163
164 .uleb128 0x3 /* (abbrev code) */
165 .uleb128 0xd /* (TAG: DW_TAG_member) */
166 .byte 0 /* DW_children_no */
167 .uleb128 0x3 /* (DW_AT_name) */
168 .uleb128 0x8 /* (DW_FORM_string) */
169 .uleb128 0x49 /* (DW_AT_type) */
170 .uleb128 0x13 /* (DW_FORM_ref4) */
171 .uleb128 0x38 /* (DW_AT_data_member_location) */
172 .uleb128 0xb /* (DW_FORM_data1) */
173 .byte 0
174 .byte 0
175
176 .uleb128 0x4 /* (abbrev code) */
177 .uleb128 0x34 /* (TAG: DW_TAG_variable) */
178 .byte 0x0 /* DW_children_yes */
179 .uleb128 0x3 /* (DW_AT_name) */
180 .uleb128 0x8 /* (DW_FORM_string) */
181 .uleb128 0x02 /* (DW_AT_location) */
182 .uleb128 0xa /* (DW_FORM_block1) */
183 .uleb128 0x49 /* (DW_AT_type) */
8b9737bf 184 .uleb128 0x10 /* (DW_FORM_ref_addr) */
181cebd4
JK
185 .byte 0x0
186 .byte 0x0
187
188 .uleb128 0x5 /* (abbrev code) */
189 .uleb128 0xf /* (TAG: DW_TAG_pointer_type) */
190 .byte 0x0 /* DW_children_no */
191 .uleb128 0xb /* (DW_AT_byte_size) */
192 .uleb128 0xb /* (DW_FORM_data1) */
193 .uleb128 0x49 /* (DW_AT_type) */
194 .uleb128 0x13 /* (DW_FORM_ref4) */
195 .byte 0x0
196 .byte 0x0
197
198 .uleb128 6 /* Abbrev code */
199 .uleb128 0x2e /* DW_TAG_subprogram */
200 .byte 1 /* has_children */
201 .uleb128 0x3 /* DW_AT_name */
202 .uleb128 0x8 /* DW_FORM_string */
203 .uleb128 0x11 /* DW_AT_low_pc */
204 .uleb128 0x1 /* DW_FORM_addr */
205 .uleb128 0x12 /* DW_AT_high_pc */
206 .uleb128 0x1 /* DW_FORM_addr */
207 .uleb128 0x49 /* DW_AT_type */
8b9737bf 208 .uleb128 0x10 /* DW_FORM_ref_addr */
181cebd4
JK
209 .uleb128 0x3f /* DW_AT_external */
210 .uleb128 0xc /* DW_FORM_flag */
211 .byte 0x0 /* Terminator */
212 .byte 0x0 /* Terminator */
213
214 .uleb128 0x7 /* (abbrev code) */
215 .uleb128 0x24 /* (TAG: DW_TAG_base_type) */
216 .byte 0 /* DW_children_no */
217 .uleb128 0xb /* (DW_AT_byte_size) */
218 .uleb128 0xb /* (DW_FORM_data1) */
219 .uleb128 0x3e /* (DW_AT_encoding) */
220 .uleb128 0xb /* (DW_FORM_data1) */
221 .uleb128 0x3 /* (DW_AT_name) */
222 .uleb128 0x8 /* (DW_FORM_string) */
223 .byte 0
224 .byte 0
225
226 .byte 0x0
This page took 0.379244 seconds and 4 git commands to generate.