aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S')
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S201
1 files changed, 201 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S b/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
new file mode 100644
index 0000000..029a9c5
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
@@ -0,0 +1,201 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* This source file was generated by:
+ echo 'struct s { char a[1<<24]; int b; } s;' \
+ | gcc -dA -o dw2-simple-locdesc.S -S -gdwarf-2 -x c -
+ */
+ .text
+var:
+
+ .section .debug_info
+.Ldebug_info0:
+d:
+ .4byte .Lcu_end - 1f /* Length of Compilation Unit Info */
+1:
+ .value 0x2 /* DWARF version number */
+ .4byte .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
+ .byte 0x4 /* Pointer Size (in bytes) */
+ .uleb128 0x1 /* (DIE (0xb) DW_TAG_compile_unit) */
+ .4byte .LASF2 /* DW_AT_producer: "GNU C 4.7.0 20110727 (experimental)" */
+ .byte 0x1 /* DW_AT_language */
+.Ldie19:
+ .uleb128 0x2 /* (DIE (0x19) DW_TAG_structure_type) */
+ .ascii "s\0" /* DW_AT_name */
+ .4byte 0x1000004 /* DW_AT_byte_size */
+ .byte 0x1 /* DW_AT_decl_file (<stdin>) */
+ .byte 0x1 /* DW_AT_decl_line */
+.Ldie26:
+ .uleb128 0x3 /* (DIE (0x26) DW_TAG_member) */
+ .ascii "a\0" /* DW_AT_name */
+ .byte 0x1 /* DW_AT_decl_file (<stdin>) */
+ .byte 0x1 /* DW_AT_decl_line */
+ .4byte .Ldie41 - d /* DW_AT_type */
+ .byte 0x2 /* DW_AT_data_member_location */
+ .byte 0x23 /* DW_OP_plus_uconst */
+ .uleb128 0
+.Ldie32:
+ .uleb128 0x3 /* (DIE (0x32) DW_TAG_member) */
+ .ascii "b\0" /* DW_AT_name */
+ .byte 0x1 /* DW_AT_decl_file (<stdin>) */
+ .byte 0x1 /* DW_AT_decl_line */
+ .4byte .Ldie62 - d /* DW_AT_type */
+ .byte 0x4 /* DW_AT_data_member_location */
+ .byte 0x40 /* DW_OP_lit16 */
+ .byte 0x44 /* DW_OP_lit20 */
+ .byte 0x24 /* DW_OP_shl */
+ .byte 0x22 /* DW_OP_plus */
+ .byte 0 /* end of children of DIE 0x19 */
+.Ldie41:
+ .uleb128 0x4 /* (DIE (0x41) DW_TAG_array_type) */
+ .4byte .Ldie5b - d /* DW_AT_type */
+.Ldie4a:
+ .uleb128 0x5 /* (DIE (0x4a) DW_TAG_subrange_type) */
+ .4byte .Ldie54 - d /* DW_AT_type */
+ .4byte 0xffffff /* DW_AT_upper_bound */
+ .byte 0 /* end of children of DIE 0x41 */
+.Ldie54:
+ .uleb128 0x6 /* (DIE (0x54) DW_TAG_base_type) */
+ .byte 0x8 /* DW_AT_byte_size */
+ .byte 0x7 /* DW_AT_encoding */
+ .4byte .LASF0 /* DW_AT_name: "sizetype" */
+.Ldie5b:
+ .uleb128 0x6 /* (DIE (0x5b) DW_TAG_base_type) */
+ .byte 0x1 /* DW_AT_byte_size */
+ .byte 0x6 /* DW_AT_encoding */
+ .4byte .LASF1 /* DW_AT_name: "char" */
+.Ldie62:
+ .uleb128 0x7 /* (DIE (0x62) DW_TAG_base_type) */
+ .byte 0x4 /* DW_AT_byte_size */
+ .byte 0x5 /* DW_AT_encoding */
+ .ascii "int\0" /* DW_AT_name */
+.Ldie69:
+ .uleb128 0x8 /* (DIE (0x69) DW_TAG_variable) */
+ .ascii "s\0" /* DW_AT_name */
+ .byte 0x1 /* DW_AT_decl_file (<stdin>) */
+ .byte 0x1 /* DW_AT_decl_line */
+ .4byte .Ldie19 - d /* DW_AT_type */
+ .byte 0x1 /* DW_AT_external */
+ .byte 2f - 1f /* DW_AT_location */
+1:
+ .byte 0x3 /* DW_OP_addr */
+ .4byte var
+2:
+ .byte 0 /* end of children of DIE 0xb */
+.Lcu_end:
+ .section .debug_abbrev
+.Ldebug_abbrev0:
+ .uleb128 0x1 /* (abbrev code) */
+ .uleb128 0x11 /* (TAG: DW_TAG_compile_unit) */
+ .byte 0x1 /* DW_children_yes */
+ .uleb128 0x25 /* (DW_AT_producer) */
+ .uleb128 0xe /* (DW_FORM_strp) */
+ .uleb128 0x13 /* (DW_AT_language) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .byte 0
+ .byte 0
+ .uleb128 0x2 /* (abbrev code) */
+ .uleb128 0x13 /* (TAG: DW_TAG_structure_type) */
+ .byte 0x1 /* DW_children_yes */
+ .uleb128 0x3 /* (DW_AT_name) */
+ .uleb128 0x8 /* (DW_FORM_string) */
+ .uleb128 0xb /* (DW_AT_byte_size) */
+ .uleb128 0x6 /* (DW_FORM_data4) */
+ .uleb128 0x3a /* (DW_AT_decl_file) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .uleb128 0x3b /* (DW_AT_decl_line) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .byte 0
+ .byte 0
+ .uleb128 0x3 /* (abbrev code) */
+ .uleb128 0xd /* (TAG: DW_TAG_member) */
+ .byte 0 /* DW_children_no */
+ .uleb128 0x3 /* (DW_AT_name) */
+ .uleb128 0x8 /* (DW_FORM_string) */
+ .uleb128 0x3a /* (DW_AT_decl_file) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .uleb128 0x3b /* (DW_AT_decl_line) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .uleb128 0x49 /* (DW_AT_type) */
+ .uleb128 0x13 /* (DW_FORM_ref4) */
+ .uleb128 0x38 /* (DW_AT_data_member_location) */
+ .uleb128 0xa /* (DW_FORM_block1) */
+ .byte 0
+ .byte 0
+ .uleb128 0x4 /* (abbrev code) */
+ .uleb128 0x1 /* (TAG: DW_TAG_array_type) */
+ .byte 0x1 /* DW_children_yes */
+ .uleb128 0x49 /* (DW_AT_type) */
+ .uleb128 0x13 /* (DW_FORM_ref4) */
+ .byte 0
+ .byte 0
+ .uleb128 0x5 /* (abbrev code) */
+ .uleb128 0x21 /* (TAG: DW_TAG_subrange_type) */
+ .byte 0 /* DW_children_no */
+ .uleb128 0x49 /* (DW_AT_type) */
+ .uleb128 0x13 /* (DW_FORM_ref4) */
+ .uleb128 0x2f /* (DW_AT_upper_bound) */
+ .uleb128 0x6 /* (DW_FORM_data4) */
+ .byte 0
+ .byte 0
+ .uleb128 0x6 /* (abbrev code) */
+ .uleb128 0x24 /* (TAG: DW_TAG_base_type) */
+ .byte 0 /* DW_children_no */
+ .uleb128 0xb /* (DW_AT_byte_size) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .uleb128 0x3e /* (DW_AT_encoding) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .uleb128 0x3 /* (DW_AT_name) */
+ .uleb128 0xe /* (DW_FORM_strp) */
+ .byte 0
+ .byte 0
+ .uleb128 0x7 /* (abbrev code) */
+ .uleb128 0x24 /* (TAG: DW_TAG_base_type) */
+ .byte 0 /* DW_children_no */
+ .uleb128 0xb /* (DW_AT_byte_size) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .uleb128 0x3e /* (DW_AT_encoding) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .uleb128 0x3 /* (DW_AT_name) */
+ .uleb128 0x8 /* (DW_FORM_string) */
+ .byte 0
+ .byte 0
+ .uleb128 0x8 /* (abbrev code) */
+ .uleb128 0x34 /* (TAG: DW_TAG_variable) */
+ .byte 0 /* DW_children_no */
+ .uleb128 0x3 /* (DW_AT_name) */
+ .uleb128 0x8 /* (DW_FORM_string) */
+ .uleb128 0x3a /* (DW_AT_decl_file) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .uleb128 0x3b /* (DW_AT_decl_line) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .uleb128 0x49 /* (DW_AT_type) */
+ .uleb128 0x13 /* (DW_FORM_ref4) */
+ .uleb128 0x3f /* (DW_AT_external) */
+ .uleb128 0xc /* (DW_FORM_flag) */
+ .uleb128 0x2 /* (DW_AT_location) */
+ .uleb128 0xa /* (DW_FORM_block1) */
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_str
+.LASF2:
+ .string "GNU C 4.7.0 20110727 (experimental)"
+.LASF0:
+ .string "sizetype"
+.LASF1:
+ .string "char"