tizen 2.4 release
[external/binutils.git] / gdb / testsuite / gdb.dwarf2 / implptr-optimized-out.S
1 /* Copyright 2010-2014 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         .section        .debug_info
17 d:
18         .4byte  debug_end - 1f  /* Length of Compilation Unit Info */
19 1:
20         .2byte  0x3     /* DWARF version number */
21         .4byte  .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
22         .byte   0x4     /* Pointer Size (in bytes) */
23         .uleb128 0x1    /* (DIE (0xb) DW_TAG_compile_unit) */
24         .ascii "GNU C 4.4.3\0"  /* DW_AT_producer */
25         .byte   0x1     /* DW_AT_language */
26         .ascii "1.c\0"  /* DW_AT_name */
27
28 .Ltype_int:
29         .uleb128 0x7    /* DW_TAG_base_type */
30         .byte   0x4     /* DW_AT_byte_size */
31         .byte   0x5     /* DW_AT_encoding */
32         .ascii "int\0"  /* DW_AT_name */
33
34 .Ltype_struct:
35         .uleb128 0x2    /* DW_TAG_structure_type */
36         .ascii "s\0"    /* DW_AT_name */
37         .byte   4       /* DW_AT_byte_size */
38
39         .uleb128 0x3    /* DW_TAG_member */
40         .ascii "f\0"    /* DW_AT_name */
41         .4byte  .Ltype_int - d  /* DW_AT_type */
42         .byte   0       /* DW_AT_data_member_location */
43
44         .byte   0x0     /* end of children of DW_TAG_structure_type */
45
46         .uleb128        6                       /* Abbrev: DW_TAG_subprogram */
47         .ascii          "main\0"                /* DW_AT_name */
48         .4byte          main                    /* DW_AT_low_pc */
49         .4byte          main + 0x100            /* DW_AT_high_pc */
50         .4byte          .Ltype_int - d          /* DW_AT_type */
51         .byte           1                       /* DW_AT_external */
52
53 .Ltype_structptr:
54         .uleb128 0x5    /* DW_TAG_pointer_type */
55         .byte   0x4     /* DW_AT_byte_size */
56         .4byte  .Ltype_struct - d       /* DW_AT_type */
57
58 .Lvar_out:
59         .uleb128 0x4    /* (DW_TAG_variable) */
60         .ascii "v\0"    /* DW_AT_name */
61         .byte   0       /* DW_AT_location: DW_FORM_block1 */
62         .4byte  .Ltype_struct - d       /* DW_AT_type */
63
64         .uleb128 0x4    /* (DW_TAG_variable) */
65         .ascii "p\0"    /* DW_AT_name */
66         .byte   2f - 1f /* DW_AT_location: DW_FORM_block1 */
67 1:
68         .byte   0xf2    /* DW_OP_GNU_implicit_pointer */
69         .4byte  .Lvar_out       /* referenced DIE, section-relative! */
70         .sleb128        0       /* offset */
71 2:
72         .4byte  .Ltype_structptr - d    /* DW_AT_type */
73
74         .byte   0x0     /* end of children of main */
75
76         .byte   0x0     /* end of children of CU */
77 debug_end:
78
79         .section        .debug_abbrev
80 .Ldebug_abbrev0:
81
82         .uleb128 0x1    /* (abbrev code) */
83         .uleb128 0x11   /* (TAG: DW_TAG_compile_unit) */
84         .byte   0x1     /* DW_children_yes */
85         .uleb128 0x25   /* (DW_AT_producer) */
86         .uleb128 0x8    /* (DW_FORM_string) */
87         .uleb128 0x13   /* (DW_AT_language) */
88         .uleb128 0xb    /* (DW_FORM_data1) */
89         .uleb128 0x3    /* (DW_AT_name) */
90         .uleb128 0x8    /* (DW_FORM_string) */
91         .byte   0x0
92         .byte   0x0
93
94         .uleb128 0x2    /* (abbrev code) */
95         .uleb128 0x13   /* (TAG: DW_TAG_structure_type) */
96         .byte   0x1     /* DW_children_yes */
97         .uleb128 0x3    /* (DW_AT_name) */
98         .uleb128 0x8    /* (DW_FORM_string) */
99         .uleb128 0xb    /* (DW_AT_byte_size) */
100         .uleb128 0xb    /* (DW_FORM_data1) */
101         .byte   0
102         .byte   0
103
104         .uleb128 0x3    /* (abbrev code) */
105         .uleb128 0xd    /* (TAG: DW_TAG_member) */
106         .byte   0       /* DW_children_no */
107         .uleb128 0x3    /* (DW_AT_name) */
108         .uleb128 0x8    /* (DW_FORM_string) */
109         .uleb128 0x49   /* (DW_AT_type) */
110         .uleb128 0x13   /* (DW_FORM_ref4) */
111         .uleb128 0x38   /* (DW_AT_data_member_location) */
112         .uleb128 0xb    /* (DW_FORM_data1) */
113         .byte   0
114         .byte   0
115
116         .uleb128 0x4    /* (abbrev code) */
117         .uleb128 0x34   /* (TAG: DW_TAG_variable) */
118         .byte   0x0     /* DW_children_yes */
119         .uleb128 0x3    /* (DW_AT_name) */
120         .uleb128 0x8    /* (DW_FORM_string) */
121         .uleb128 0x02   /* (DW_AT_location) */
122         .uleb128 0xa    /* (DW_FORM_block1) */
123         .uleb128 0x49   /* (DW_AT_type) */
124         .uleb128 0x13   /* (DW_FORM_ref4) */
125         .byte   0x0
126         .byte   0x0
127
128         .uleb128 0x5    /* (abbrev code) */
129         .uleb128 0xf    /* (TAG: DW_TAG_pointer_type) */
130         .byte   0x0     /* DW_children_no */
131         .uleb128 0xb    /* (DW_AT_byte_size) */
132         .uleb128 0xb    /* (DW_FORM_data1) */
133         .uleb128 0x49   /* (DW_AT_type) */
134         .uleb128 0x13   /* (DW_FORM_ref4) */
135         .byte   0x0
136         .byte   0x0
137
138         .uleb128        6                       /* Abbrev code */
139         .uleb128        0x2e                    /* DW_TAG_subprogram */
140         .byte           1                       /* has_children */
141         .uleb128        0x3                     /* DW_AT_name */
142         .uleb128        0x8                     /* DW_FORM_string */
143         .uleb128        0x11                    /* DW_AT_low_pc */
144         .uleb128        0x1                     /* DW_FORM_addr */
145         .uleb128        0x12                    /* DW_AT_high_pc */
146         .uleb128        0x1                     /* DW_FORM_addr */
147         .uleb128        0x49                    /* DW_AT_type */
148         .uleb128        0x13                    /* DW_FORM_ref4 */
149         .uleb128        0x3f                    /* DW_AT_external */
150         .uleb128        0xc                     /* DW_FORM_flag */
151         .byte           0x0                     /* Terminator */
152         .byte           0x0                     /* Terminator */
153
154         .uleb128 0x7    /* (abbrev code) */
155         .uleb128 0x24   /* (TAG: DW_TAG_base_type) */
156         .byte   0       /* DW_children_no */
157         .uleb128 0xb    /* (DW_AT_byte_size) */
158         .uleb128 0xb    /* (DW_FORM_data1) */
159         .uleb128 0x3e   /* (DW_AT_encoding) */
160         .uleb128 0xb    /* (DW_FORM_data1) */
161         .uleb128 0x3    /* (DW_AT_name) */
162         .uleb128 0x8    /* (DW_FORM_string) */
163         .byte   0
164         .byte   0
165
166         .byte   0x0