1 /* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2011-2019 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" 170