1 /* This testcase is part of GDB, the GNU debugger.
3 Copyright 2008-2013 Free Software Foundation, Inc.
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.
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.
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/>. */
18 /* Test inter-cu reference support where the referenced DIE is within
19 initial_length_size bytes of the end of the CU, but GDB doesn't take
20 into account initial_length_size.
21 GDB still gets the correct answer because it goes looking for the
22 correct CU, but the search is unnecessary. */
24 /* Debug information */
29 .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
31 .2byte 2 /* DWARF Version */
32 .4byte .Labbrev1_begin /* Offset into abbrev section */
33 .byte 4 /* Pointer size */
36 .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
37 .ascii "file1.txt\0" /* DW_AT_name */
38 .ascii "GNU C 3.3.3\0" /* DW_AT_producer */
39 .byte 1 /* DW_AT_language (C) */
41 .uleb128 2 /* Abbrev: DW_TAG_variable */
42 .ascii "noloc\0" /* DW_AT_name */
43 .4byte .Ltype_const_int-.Lcu1_begin /* DW_AT_type */
44 .byte 1 /* DW_AT_external */
47 .uleb128 3 /* Abbrev: DW_TAG_base_type */
48 .ascii "int\0" /* DW_AT_name */
49 .byte 4 /* DW_AT_byte_size */
50 .byte 5 /* DW_AT_encoding */
53 .uleb128 4 /* Abbrev: DW_TAG_const_type */
54 .uleb128 .Ltype_int - .Lcu1_begin /* DW_AT_type */
56 .byte 0 /* End of children of CU */
61 .section .debug_abbrev
63 .uleb128 1 /* Abbrev code */
64 .uleb128 0x11 /* DW_TAG_compile_unit */
65 .byte 1 /* has_children */
66 .uleb128 0x3 /* DW_AT_name */
67 .uleb128 0x8 /* DW_FORM_string */
68 .uleb128 0x25 /* DW_AT_producer */
69 .uleb128 0x8 /* DW_FORM_string */
70 .uleb128 0x13 /* DW_AT_language */
71 .uleb128 0xb /* DW_FORM_data1 */
72 .byte 0x0 /* Terminator */
73 .byte 0x0 /* Terminator */
75 .uleb128 2 /* Abbrev code */
76 .uleb128 0x34 /* DW_TAG_variable */
77 .byte 0 /* has_children */
78 .uleb128 0x3 /* DW_AT_name */
79 .uleb128 0x8 /* DW_FORM_string */
80 .uleb128 0x49 /* DW_AT_type */
81 .uleb128 0x13 /* DW_FORM_ref4 */
82 .uleb128 0x3f /* DW_AT_external */
83 .uleb128 0xc /* DW_FORM_flag */
84 .byte 0x0 /* Terminator */
85 .byte 0x0 /* Terminator */
87 .uleb128 3 /* Abbrev code */
88 .uleb128 0x24 /* DW_TAG_base_type */
89 .byte 0 /* has_children */
90 .uleb128 0x3 /* DW_AT_name */
91 .uleb128 0x8 /* DW_FORM_string */
92 .uleb128 0xb /* DW_AT_byte_size */
93 .uleb128 0xb /* DW_FORM_data1 */
94 .uleb128 0x3e /* DW_AT_encoding */
95 .uleb128 0xb /* DW_FORM_data1 */
96 .byte 0x0 /* Terminator */
97 .byte 0x0 /* Terminator */
99 .uleb128 4 /* Abbrev code */
100 .uleb128 0x26 /* DW_TAG_const_type */
101 .byte 0 /* has_children */
102 .uleb128 0x49 /* DW_AT_type */
103 .uleb128 0x15 /* DW_FORM_ref_udata */
105 .byte 0x0 /* Terminator */
106 .byte 0x0 /* Terminator */