OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gdb-7.2/] [gdb-7.2-or32-1.0rc3/] [gdb/] [testsuite/] [gdb.dwarf2/] [member-ptr-forwardref.S] - Blame information for rev 579

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 330 jeremybenn
/* This testcase is part of GDB, the GNU debugger.
2
 
3
   Copyright 2010 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 .  */
17
 
18
/* The goal of this test is to provide anonymous DW_TAG_structure_type
19
   containing __pfn + __delta (read in by quirk_gcc_member_function_pointer)
20
   before DW_TAG_structure_type of "class C" to exploit the forward reference
21
   through "__pfn" and back from DW_TAG_member "fp" of "class C".  As the
22
   compiler may place the DIEs in arbitrary order they are rather prepared as
23
   a .S file.
24
 
25
   class C;
26
   typedef int (C::*fp_t) ();
27
   fp_t fp;
28
   class C
29
     {
30
       int (C::*fp) ();
31
     } c;  */
32
 
33
        .file   "member-ptr-forwardref.cc"
34
        .section        .debug_abbrev,"",@progbits
35
.Ldebug_abbrev0:
36
        .section        .debug_info,"",@progbits
37
.Ldebug_info0:
38
        .section        .debug_line,"",@progbits
39
.Ldebug_line0:
40
        .text
41
.Ltext0:
42
.globl fp
43
        .data
44
        .align 4
45
        .type   fp, @object
46
        .size   fp, 8
47
fp:
48
        .zero   8
49
.globl c
50
        .align 4
51
        .type   c, @object
52
        .size   c, 8
53
c:
54
        .zero   8
55
        .text
56
.Letext0:
57
        .file 1 "gdb.dwarf2/member-ptr-forwardref.cc"
58
        .section        .debug_info
59
        .long   0xa9    /* Length of Compilation Unit Info */
60
        .2byte  0x3     /* DWARF version number */
61
        .long   .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
62
        .byte   0x4     /* Pointer Size (in bytes) */
63
        .uleb128 0x1    /* (DIE (0xb) DW_TAG_compile_unit) */
64
        .long   .LASF2  /* DW_AT_producer: "GNU C++ 4.4.2 20091222 (Red Hat 4.4.2-20)" */
65
        .byte   0x4     /* DW_AT_language */
66
        .long   .LASF3  /* DW_AT_name: "gdb.dwarf2/member-ptr-forwardref.cc" */
67
        .long   .LASF4  /* DW_AT_comp_dir: "gdb/testsuite" */
68
        .long   .Ltext0 /* DW_AT_low_pc */
69
        .long   .Letext0        /* DW_AT_high_pc */
70
        .long   .Ldebug_line0   /* DW_AT_stmt_list */
71
        .uleb128 0x2    /* (DIE (0x25) DW_TAG_typedef) */
72
        .long   .LASF5  /* DW_AT_name: "fp_t" */
73
        .byte   0x1     /* DW_AT_decl_file (gdb.dwarf2/member-ptr-forwardref.cc) */
74
        .byte   0x13    /* DW_AT_decl_line */
75
        .long   0x30    /* DW_AT_type */
76
        .uleb128 0x3    /* (DIE (0x30) DW_TAG_structure_type) */
77
        .byte   0x8     /* DW_AT_byte_size */
78
        .byte   0x1     /* DW_AT_decl_file (gdb.dwarf2/member-ptr-forwardref.cc) */
79
        .byte   0x13    /* DW_AT_decl_line */
80
        .long   0x51    /* DW_AT_sibling */
81
        .uleb128 0x4    /* (DIE (0x38) DW_TAG_member) */
82
        .long   .LASF0  /* DW_AT_name: "__pfn" */
83
        .byte   0x1     /* DW_AT_decl_file (gdb.dwarf2/member-ptr-forwardref.cc) */
84
        .byte   0x13    /* DW_AT_decl_line */
85
        .long   0x85    /* DW_AT_type */
86
        .sleb128 0      /* DW_AT_data_member_location */
87
        .uleb128 0x4    /* (DIE (0x44) DW_TAG_member) */
88
        .long   .LASF1  /* DW_AT_name: "__delta" */
89
        .byte   0x1     /* DW_AT_decl_file (gdb.dwarf2/member-ptr-forwardref.cc) */
90
        .byte   0x13    /* DW_AT_decl_line */
91
        .long   0x61    /* DW_AT_type */
92
        .sleb128 4      /* DW_AT_data_member_location */
93
        .byte   0x0     /* end of children of DIE 0x30 */
94
        .uleb128 0x5    /* (DIE (0x51) DW_TAG_subroutine_type) */
95
        .long   0x61    /* DW_AT_type */
96
        .long   0x61    /* DW_AT_sibling */
97
        .uleb128 0x6    /* (DIE (0x5a) DW_TAG_formal_parameter) */
98
        .long   0x68    /* DW_AT_type */
99
        .byte   0x1     /* DW_AT_artificial */
100
        .byte   0x0     /* end of children of DIE 0x51 */
101
        .uleb128 0x7    /* (DIE (0x61) DW_TAG_base_type) */
102
        .byte   0x4     /* DW_AT_byte_size */
103
        .byte   0x5     /* DW_AT_encoding */
104
        .ascii "int\0"  /* DW_AT_name */
105
        .uleb128 0x8    /* (DIE (0x68) DW_TAG_pointer_type) */
106
        .byte   0x4     /* DW_AT_byte_size */
107
        .long   0x6e    /* DW_AT_type */
108
        .uleb128 0x9    /* (DIE (0x6e) DW_TAG_structure_type) */
109
        .ascii "C\0"    /* DW_AT_name */
110
        .byte   0x8     /* DW_AT_byte_size */
111
        .byte   0x1     /* DW_AT_decl_file (gdb.dwarf2/member-ptr-forwardref.cc) */
112
        .byte   0x16    /* DW_AT_decl_line */
113
        .long   0x85    /* DW_AT_sibling */
114
        .uleb128 0xa    /* (DIE (0x78) DW_TAG_member) */
115
        .ascii "fp\0"   /* DW_AT_name */
116
        .byte   0x1     /* DW_AT_decl_file (gdb.dwarf2/member-ptr-forwardref.cc) */
117
        .byte   0x17    /* DW_AT_decl_line */
118
        .long   0x30    /* DW_AT_type */
119
        .sleb128 0      /* DW_AT_data_member_location */
120
        .byte   0x3     /* DW_AT_accessibility */
121
        .byte   0x0     /* end of children of DIE 0x6e */
122
        .uleb128 0x8    /* (DIE (0x85) DW_TAG_pointer_type) */
123
        .byte   0x4     /* DW_AT_byte_size */
124
        .long   0x51    /* DW_AT_type */
125
        .uleb128 0xb    /* (DIE (0x8b) DW_TAG_variable) */
126
        .ascii "fp\0"   /* DW_AT_name */
127
        .byte   0x1     /* DW_AT_decl_file (gdb.dwarf2/member-ptr-forwardref.cc) */
128
        .byte   0x14    /* DW_AT_decl_line */
129
        .long   0x25    /* DW_AT_type */
130
        .byte   0x1     /* DW_AT_external */
131
        .byte   0x5     /* DW_AT_location */
132
        .byte   0x3     /* DW_OP_addr */
133
        .long   fp
134
        .uleb128 0xb    /* (DIE (0x9c) DW_TAG_variable) */
135
        .ascii "c\0"    /* DW_AT_name */
136
        .byte   0x1     /* DW_AT_decl_file (gdb.dwarf2/member-ptr-forwardref.cc) */
137
        .byte   0x18    /* DW_AT_decl_line */
138
        .long   0x6e    /* DW_AT_type */
139
        .byte   0x1     /* DW_AT_external */
140
        .byte   0x5     /* DW_AT_location */
141
        .byte   0x3     /* DW_OP_addr */
142
        .long   c
143
        .byte   0x0     /* end of children of DIE 0xb */
144
        .section        .debug_abbrev
145
        .uleb128 0x1    /* (abbrev code) */
146
        .uleb128 0x11   /* (TAG: DW_TAG_compile_unit) */
147
        .byte   0x1     /* DW_children_yes */
148
        .uleb128 0x25   /* (DW_AT_producer) */
149
        .uleb128 0xe    /* (DW_FORM_strp) */
150
        .uleb128 0x13   /* (DW_AT_language) */
151
        .uleb128 0xb    /* (DW_FORM_data1) */
152
        .uleb128 0x3    /* (DW_AT_name) */
153
        .uleb128 0xe    /* (DW_FORM_strp) */
154
        .uleb128 0x1b   /* (DW_AT_comp_dir) */
155
        .uleb128 0xe    /* (DW_FORM_strp) */
156
        .uleb128 0x11   /* (DW_AT_low_pc) */
157
        .uleb128 0x1    /* (DW_FORM_addr) */
158
        .uleb128 0x12   /* (DW_AT_high_pc) */
159
        .uleb128 0x1    /* (DW_FORM_addr) */
160
        .uleb128 0x10   /* (DW_AT_stmt_list) */
161
        .uleb128 0x6    /* (DW_FORM_data4) */
162
        .byte   0x0
163
        .byte   0x0
164
        .uleb128 0x2    /* (abbrev code) */
165
        .uleb128 0x16   /* (TAG: DW_TAG_typedef) */
166
        .byte   0x0     /* DW_children_no */
167
        .uleb128 0x3    /* (DW_AT_name) */
168
        .uleb128 0xe    /* (DW_FORM_strp) */
169
        .uleb128 0x3a   /* (DW_AT_decl_file) */
170
        .uleb128 0xb    /* (DW_FORM_data1) */
171
        .uleb128 0x3b   /* (DW_AT_decl_line) */
172
        .uleb128 0xb    /* (DW_FORM_data1) */
173
        .uleb128 0x49   /* (DW_AT_type) */
174
        .uleb128 0x13   /* (DW_FORM_ref4) */
175
        .byte   0x0
176
        .byte   0x0
177
        .uleb128 0x3    /* (abbrev code) */
178
        .uleb128 0x13   /* (TAG: DW_TAG_structure_type) */
179
        .byte   0x1     /* DW_children_yes */
180
        .uleb128 0xb    /* (DW_AT_byte_size) */
181
        .uleb128 0xb    /* (DW_FORM_data1) */
182
        .uleb128 0x3a   /* (DW_AT_decl_file) */
183
        .uleb128 0xb    /* (DW_FORM_data1) */
184
        .uleb128 0x3b   /* (DW_AT_decl_line) */
185
        .uleb128 0xb    /* (DW_FORM_data1) */
186
        .uleb128 0x1    /* (DW_AT_sibling) */
187
        .uleb128 0x13   /* (DW_FORM_ref4) */
188
        .byte   0x0
189
        .byte   0x0
190
        .uleb128 0x4    /* (abbrev code) */
191
        .uleb128 0xd    /* (TAG: DW_TAG_member) */
192
        .byte   0x0     /* DW_children_no */
193
        .uleb128 0x3    /* (DW_AT_name) */
194
        .uleb128 0xe    /* (DW_FORM_strp) */
195
        .uleb128 0x3a   /* (DW_AT_decl_file) */
196
        .uleb128 0xb    /* (DW_FORM_data1) */
197
        .uleb128 0x3b   /* (DW_AT_decl_line) */
198
        .uleb128 0xb    /* (DW_FORM_data1) */
199
        .uleb128 0x49   /* (DW_AT_type) */
200
        .uleb128 0x13   /* (DW_FORM_ref4) */
201
        .uleb128 0x38   /* (DW_AT_data_member_location) */
202
        .uleb128 0xd    /* (DW_FORM_sdata) */
203
        .byte   0x0
204
        .byte   0x0
205
        .uleb128 0x5    /* (abbrev code) */
206
        .uleb128 0x15   /* (TAG: DW_TAG_subroutine_type) */
207
        .byte   0x1     /* DW_children_yes */
208
        .uleb128 0x49   /* (DW_AT_type) */
209
        .uleb128 0x13   /* (DW_FORM_ref4) */
210
        .uleb128 0x1    /* (DW_AT_sibling) */
211
        .uleb128 0x13   /* (DW_FORM_ref4) */
212
        .byte   0x0
213
        .byte   0x0
214
        .uleb128 0x6    /* (abbrev code) */
215
        .uleb128 0x5    /* (TAG: DW_TAG_formal_parameter) */
216
        .byte   0x0     /* DW_children_no */
217
        .uleb128 0x49   /* (DW_AT_type) */
218
        .uleb128 0x13   /* (DW_FORM_ref4) */
219
        .uleb128 0x34   /* (DW_AT_artificial) */
220
        .uleb128 0xc    /* (DW_FORM_flag) */
221
        .byte   0x0
222
        .byte   0x0
223
        .uleb128 0x7    /* (abbrev code) */
224
        .uleb128 0x24   /* (TAG: DW_TAG_base_type) */
225
        .byte   0x0     /* DW_children_no */
226
        .uleb128 0xb    /* (DW_AT_byte_size) */
227
        .uleb128 0xb    /* (DW_FORM_data1) */
228
        .uleb128 0x3e   /* (DW_AT_encoding) */
229
        .uleb128 0xb    /* (DW_FORM_data1) */
230
        .uleb128 0x3    /* (DW_AT_name) */
231
        .uleb128 0x8    /* (DW_FORM_string) */
232
        .byte   0x0
233
        .byte   0x0
234
        .uleb128 0x8    /* (abbrev code) */
235
        .uleb128 0xf    /* (TAG: DW_TAG_pointer_type) */
236
        .byte   0x0     /* DW_children_no */
237
        .uleb128 0xb    /* (DW_AT_byte_size) */
238
        .uleb128 0xb    /* (DW_FORM_data1) */
239
        .uleb128 0x49   /* (DW_AT_type) */
240
        .uleb128 0x13   /* (DW_FORM_ref4) */
241
        .byte   0x0
242
        .byte   0x0
243
        .uleb128 0x9    /* (abbrev code) */
244
        .uleb128 0x13   /* (TAG: DW_TAG_structure_type) */
245
        .byte   0x1     /* DW_children_yes */
246
        .uleb128 0x3    /* (DW_AT_name) */
247
        .uleb128 0x8    /* (DW_FORM_string) */
248
        .uleb128 0xb    /* (DW_AT_byte_size) */
249
        .uleb128 0xb    /* (DW_FORM_data1) */
250
        .uleb128 0x3a   /* (DW_AT_decl_file) */
251
        .uleb128 0xb    /* (DW_FORM_data1) */
252
        .uleb128 0x3b   /* (DW_AT_decl_line) */
253
        .uleb128 0xb    /* (DW_FORM_data1) */
254
        .uleb128 0x1    /* (DW_AT_sibling) */
255
        .uleb128 0x13   /* (DW_FORM_ref4) */
256
        .byte   0x0
257
        .byte   0x0
258
        .uleb128 0xa    /* (abbrev code) */
259
        .uleb128 0xd    /* (TAG: DW_TAG_member) */
260
        .byte   0x0     /* DW_children_no */
261
        .uleb128 0x3    /* (DW_AT_name) */
262
        .uleb128 0x8    /* (DW_FORM_string) */
263
        .uleb128 0x3a   /* (DW_AT_decl_file) */
264
        .uleb128 0xb    /* (DW_FORM_data1) */
265
        .uleb128 0x3b   /* (DW_AT_decl_line) */
266
        .uleb128 0xb    /* (DW_FORM_data1) */
267
        .uleb128 0x49   /* (DW_AT_type) */
268
        .uleb128 0x13   /* (DW_FORM_ref4) */
269
        .uleb128 0x38   /* (DW_AT_data_member_location) */
270
        .uleb128 0xd    /* (DW_FORM_sdata) */
271
        .uleb128 0x32   /* (DW_AT_accessibility) */
272
        .uleb128 0xb    /* (DW_FORM_data1) */
273
        .byte   0x0
274
        .byte   0x0
275
        .uleb128 0xb    /* (abbrev code) */
276
        .uleb128 0x34   /* (TAG: DW_TAG_variable) */
277
        .byte   0x0     /* DW_children_no */
278
        .uleb128 0x3    /* (DW_AT_name) */
279
        .uleb128 0x8    /* (DW_FORM_string) */
280
        .uleb128 0x3a   /* (DW_AT_decl_file) */
281
        .uleb128 0xb    /* (DW_FORM_data1) */
282
        .uleb128 0x3b   /* (DW_AT_decl_line) */
283
        .uleb128 0xb    /* (DW_FORM_data1) */
284
        .uleb128 0x49   /* (DW_AT_type) */
285
        .uleb128 0x13   /* (DW_FORM_ref4) */
286
        .uleb128 0x3f   /* (DW_AT_external) */
287
        .uleb128 0xc    /* (DW_FORM_flag) */
288
        .uleb128 0x2    /* (DW_AT_location) */
289
        .uleb128 0xa    /* (DW_FORM_block1) */
290
        .byte   0x0
291
        .byte   0x0
292
        .byte   0x0
293
        .section        .debug_pubnames,"",@progbits
294
        .long   0x1b    /* Length of Public Names Info */
295
        .2byte  0x2     /* DWARF Version */
296
        .long   .Ldebug_info0   /* Offset of Compilation Unit Info */
297
        .long   0xad    /* Compilation Unit Length */
298
        .long   0x8b    /* DIE offset */
299
        .ascii "fp\0"   /* external name */
300
        .long   0x9c    /* DIE offset */
301
        .ascii "c\0"    /* external name */
302
        .long   0x0
303
        .section        .debug_pubtypes,"",@progbits
304
        .long   0x1d    /* Length of Public Type Names Info */
305
        .2byte  0x2     /* DWARF Version */
306
        .long   .Ldebug_info0   /* Offset of Compilation Unit Info */
307
        .long   0xad    /* Compilation Unit Length */
308
        .long   0x25    /* DIE offset */
309
        .ascii "fp_t\0" /* external name */
310
        .long   0x6e    /* DIE offset */
311
        .ascii "C\0"    /* external name */
312
        .long   0x0
313
        .section        .debug_str,"MS",@progbits,1
314
.LASF5:
315
        .string "fp_t"
316
.LASF2:
317
        .string "GNU C++ 4.4.2 20091222 (Red Hat 4.4.2-20)"
318
.LASF0:
319
        .string "__pfn"
320
.LASF4:
321
        .string "gdb/testsuite"
322
.LASF3:
323
        .string "gdb.dwarf2/member-ptr-forwardref.cc"
324
.LASF1:
325
        .string "__delta"
326
        .ident  "GCC: (GNU) 4.4.2 20091222 (Red Hat 4.4.2-20)"
327
        .section        .note.GNU-stack,"",@progbits

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.