binutils/
[external/binutils.git] / gdb / testsuite / gdb.dwarf2 / dw2-simple-locdesc.S
1 /* This testcase is part of GDB, the GNU debugger.
2
3    Copyright 2011 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 <http://www.gnu.org/licenses/>.  */
17
18 /* This source file was generated by:
19    echo 'struct s { char a[1<<24]; int b; } s;' \
20    | gcc -dA -o dw2-simple-locdesc.S -S -gdwarf-2 -x c -
21    */
22         .text
23 var:
24
25         .section        .debug_info
26 .Ldebug_info0:
27 d:
28         .4byte  .Lcu_end - 1f   /* Length of Compilation Unit Info */
29 1:
30         .2byte  0x3     /* DWARF version number */
31         .4byte  .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
32         .byte   0x4     /* Pointer Size (in bytes) */
33         .uleb128 0x1    /* (DIE (0xb) DW_TAG_compile_unit) */
34         .4byte  .LASF2  /* DW_AT_producer: "GNU C 4.7.0 20110727 (experimental)" */
35         .byte   0x1     /* DW_AT_language */
36 .Ldie19:
37         .uleb128 0x2    /* (DIE (0x19) DW_TAG_structure_type) */
38         .ascii "s\0"    /* DW_AT_name */
39         .4byte  0x1000004       /* DW_AT_byte_size */
40         .byte   0x1     /* DW_AT_decl_file (<stdin>) */
41         .byte   0x1     /* DW_AT_decl_line */
42 .Ldie30:
43         .uleb128 0x4    /* (DIE (0x30) DW_TAG_member) */
44         .ascii "data4\0"        /* DW_AT_name */
45         .byte   0x1     /* DW_AT_decl_file (<stdin>) */
46         .byte   0x1     /* DW_AT_decl_line */
47         .4byte  .Ldie62 - d     /* DW_AT_type */
48         .4byte  0x10000 /* DW_AT_data_member_location */
49 .Ldie32:
50         .uleb128 0x3    /* (DIE (0x32) DW_TAG_member) */
51         .ascii "shl\0"  /* DW_AT_name */
52         .byte   0x1     /* DW_AT_decl_file (<stdin>) */
53         .byte   0x1     /* DW_AT_decl_line */
54         .4byte  .Ldie62 - d     /* DW_AT_type */
55         .byte   0x4     /* DW_AT_data_member_location */
56         .byte   0x40    /* DW_OP_lit16 */
57         .byte   0x44    /* DW_OP_lit20 */
58         .byte   0x24    /* DW_OP_shl */
59         .byte   0x22    /* DW_OP_plus */
60         .byte   0       /* end of children of DIE 0x19 */
61 .Ldie62:
62         .uleb128 0x7    /* (DIE (0x62) DW_TAG_base_type) */
63         .byte   0x4     /* DW_AT_byte_size */
64         .byte   0x5     /* DW_AT_encoding */
65         .ascii "int\0"  /* DW_AT_name */
66 .Ldie69:
67         .uleb128 0x8    /* (DIE (0x69) DW_TAG_variable) */
68         .ascii "s\0"    /* DW_AT_name */
69         .byte   0x1     /* DW_AT_decl_file (<stdin>) */
70         .byte   0x1     /* DW_AT_decl_line */
71         .4byte  .Ldie19 - d     /* DW_AT_type */
72         .byte   0x1     /* DW_AT_external */
73         .byte   2f - 1f /* DW_AT_location */
74 1:
75         .byte   0x3     /* DW_OP_addr */
76         .4byte  var
77 2:
78         .byte   0       /* end of children of DIE 0xb */
79 .Lcu_end:
80         .section        .debug_abbrev
81 .Ldebug_abbrev0:
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 0xe    /* (DW_FORM_strp) */
87         .uleb128 0x13   /* (DW_AT_language) */
88         .uleb128 0xb    /* (DW_FORM_data1) */
89         .byte   0
90         .byte   0
91         .uleb128 0x2    /* (abbrev code) */
92         .uleb128 0x13   /* (TAG: DW_TAG_structure_type) */
93         .byte   0x1     /* DW_children_yes */
94         .uleb128 0x3    /* (DW_AT_name) */
95         .uleb128 0x8    /* (DW_FORM_string) */
96         .uleb128 0xb    /* (DW_AT_byte_size) */
97         .uleb128 0x6    /* (DW_FORM_data4) */
98         .uleb128 0x3a   /* (DW_AT_decl_file) */
99         .uleb128 0xb    /* (DW_FORM_data1) */
100         .uleb128 0x3b   /* (DW_AT_decl_line) */
101         .uleb128 0xb    /* (DW_FORM_data1) */
102         .byte   0
103         .byte   0
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 0x3a   /* (DW_AT_decl_file) */
110         .uleb128 0xb    /* (DW_FORM_data1) */
111         .uleb128 0x3b   /* (DW_AT_decl_line) */
112         .uleb128 0xb    /* (DW_FORM_data1) */
113         .uleb128 0x49   /* (DW_AT_type) */
114         .uleb128 0x13   /* (DW_FORM_ref4) */
115         .uleb128 0x38   /* (DW_AT_data_member_location) */
116         .uleb128 0xa    /* (DW_FORM_block1) */
117         .byte   0
118         .byte   0
119         .uleb128 0x4    /* (abbrev code) */
120         .uleb128 0xd    /* (TAG: DW_TAG_member) */
121         .byte   0       /* DW_children_no */
122         .uleb128 0x3    /* (DW_AT_name) */
123         .uleb128 0x8    /* (DW_FORM_string) */
124         .uleb128 0x3a   /* (DW_AT_decl_file) */
125         .uleb128 0xb    /* (DW_FORM_data1) */
126         .uleb128 0x3b   /* (DW_AT_decl_line) */
127         .uleb128 0xb    /* (DW_FORM_data1) */
128         .uleb128 0x49   /* (DW_AT_type) */
129         .uleb128 0x13   /* (DW_FORM_ref4) */
130         .uleb128 0x38   /* (DW_AT_data_member_location) */
131         .uleb128 0x6    /* (DW_FORM_data4) */
132         .byte   0
133         .byte   0
134         .uleb128 0x7    /* (abbrev code) */
135         .uleb128 0x24   /* (TAG: DW_TAG_base_type) */
136         .byte   0       /* DW_children_no */
137         .uleb128 0xb    /* (DW_AT_byte_size) */
138         .uleb128 0xb    /* (DW_FORM_data1) */
139         .uleb128 0x3e   /* (DW_AT_encoding) */
140         .uleb128 0xb    /* (DW_FORM_data1) */
141         .uleb128 0x3    /* (DW_AT_name) */
142         .uleb128 0x8    /* (DW_FORM_string) */
143         .byte   0
144         .byte   0
145         .uleb128 0x8    /* (abbrev code) */
146         .uleb128 0x34   /* (TAG: DW_TAG_variable) */
147         .byte   0       /* DW_children_no */
148         .uleb128 0x3    /* (DW_AT_name) */
149         .uleb128 0x8    /* (DW_FORM_string) */
150         .uleb128 0x3a   /* (DW_AT_decl_file) */
151         .uleb128 0xb    /* (DW_FORM_data1) */
152         .uleb128 0x3b   /* (DW_AT_decl_line) */
153         .uleb128 0xb    /* (DW_FORM_data1) */
154         .uleb128 0x49   /* (DW_AT_type) */
155         .uleb128 0x13   /* (DW_FORM_ref4) */
156         .uleb128 0x3f   /* (DW_AT_external) */
157         .uleb128 0xc    /* (DW_FORM_flag) */
158         .uleb128 0x2    /* (DW_AT_location) */
159         .uleb128 0xa    /* (DW_FORM_block1) */
160         .byte   0
161         .byte   0
162         .byte   0
163         .section        .debug_str
164 .LASF2:
165         .string "GNU C 4.7.0 20110727 (experimental)"
166 .LASF0:
167         .string "sizetype"
168 .LASF1:
169         .string "char"