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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [testsuite/] [gdb.dwarf2/] [member-ptr-forwardref.S] - Blame information for rev 832

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

Line No. Rev Author Line
1 227 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
        .bss
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
        .value  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
        .value  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
        .value  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.