Automatic date update in version.in
[binutils-gdb/blckswan.git] / gdb / testsuite / gdb.dwarf2 / dw2-objfile-overlap-outer.S
bloba0bda9fa57855331e45d8c4de688ee54101795b1
1 /* This testcase is part of GDB, the GNU debugger.
3    Copyright 2011-2022 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         .text
20         .globl _start
21 _start:
23         .globl outer_before
24         .type outer_before, %function
25 outer_before:
26 .Lbegin_outer_before:
27         .int 0
28 .Lend_outer_before:
29         .size outer_before, . - outer_before
31         .globl outer_inner
32 outer_inner:
34         .int 0
36         .globl outer_after
37         .type outer_after, %function
38 outer_after:
39 .Lbegin_outer_after:
40         .int 0
41 .Lend_outer_after:
42         .size outer_after, . - outer_after
44 /* Debug information */
46         .section .debug_info
47 .Lcu1_begin:
48         /* CU header */
49         .4byte  .Lcu1_end - .Lcu1_start         /* Length of Compilation Unit */
50 .Lcu1_start:
51         .2byte  2                               /* DWARF Version */
52         .4byte  .Labbrev1_begin                 /* Offset into abbrev section */
53         .byte   4                               /* Pointer size */
55         /* CU die */
56         .uleb128 1                              /* Abbrev: DW_TAG_compile_unit */
57         .4byte  .Lline1_begin                   /* DW_AT_stmt_list */
58         .4byte  0                               /* DW_AT_low_pc */
59         .4byte  .Ldebug_ranges                  /* DW_AT_ranges */
60         .ascii  "outer.c\0"                     /* DW_AT_name */
61         .ascii  "/tmp\0"                        /* DW_AT_comp_dir */
62         .ascii  "GNU C 3.3.3\0"                 /* DW_AT_producer */
63         .byte   1                               /* DW_AT_language (C) */
65         /* outer_before */
66         .uleb128        2                       /* Abbrev: DW_TAG_subprogram */
67         .byte           1                       /* DW_AT_external */
68         .byte           1                       /* DW_AT_decl_file */
69         .byte           1                       /* DW_AT_decl_line */
70         .ascii          "outer_before\0"        /* DW_AT_name */
71         .4byte          .Lbegin_outer_before    /* DW_AT_low_pc */
72         .4byte          .Lend_outer_before      /* DW_AT_high_pc */
74         /* outer_after */
75         .uleb128        2                       /* Abbrev: DW_TAG_subprogram */
76         .byte           1                       /* DW_AT_external */
77         .byte           1                       /* DW_AT_decl_file */
78         .byte           2                       /* DW_AT_decl_line */
79         .ascii          "outer_after\0"         /* DW_AT_name */
80         .4byte          .Lbegin_outer_after     /* DW_AT_low_pc */
81         .4byte          .Lend_outer_after       /* DW_AT_high_pc */
83         .byte           0                       /* End of children of CU */
85 .Lcu1_end:
87 /* DW_AT_ranges.  */
88         .section        .debug_ranges
89 .Ldebug_ranges:
90         .4byte  .Lbegin_outer_before
91         .4byte  .Lend_outer_before
92         .4byte  .Lbegin_outer_after
93         .4byte  .Lend_outer_after
94         .4byte  0
95         .4byte  0
97 /* Abbrev table */
98         .section .debug_abbrev
99 .Labbrev1_begin:
100         .uleb128        1                       /* Abbrev code */
101         .uleb128        0x11                    /* DW_TAG_compile_unit */
102         .byte           1                       /* has_children */
103         .uleb128        0x10                    /* DW_AT_stmt_list */
104         .uleb128        0x6                     /* DW_FORM_data4 */
105         .uleb128        0x11                    /* DW_AT_low_pc */
106         .uleb128        0x1                     /* DW_FORM_addr */
107         .uleb128        0x55                    /* DW_AT_ranges */
108         .uleb128        0x6                     /* DW_FORM_data4 */
109         .uleb128        0x3                     /* DW_AT_name */
110         .uleb128        0x8                     /* DW_FORM_string */
111         .uleb128        0x1b                    /* DW_AT_comp_dir */
112         .uleb128        0x8                     /* DW_FORM_string */
113         .uleb128        0x25                    /* DW_AT_producer */
114         .uleb128        0x8                     /* DW_FORM_string */
115         .uleb128        0x13                    /* DW_AT_language */
116         .uleb128        0xb                     /* DW_FORM_data1 */
117         .byte           0x0                     /* Terminator */
118         .byte           0x0                     /* Terminator */
120         .uleb128        2                       /* Abbrev code */
121         .uleb128        0x2e                    /* DW_TAG_subprogram */
122         .byte           0                       /* has_children */
123         .uleb128        0x3f                    /* DW_AT_external */
124         .uleb128        0xc                     /* DW_FORM_flag */
125         .uleb128        0x3a                    /* DW_AT_decl_file */
126         .uleb128        0xb                     /* DW_FORM_data1 */
127         .uleb128        0x3b                    /* DW_AT_decl_line */
128         .uleb128        0xb                     /* DW_FORM_data1 */
129         .uleb128        0x3                     /* DW_AT_name */
130         .uleb128        0x8                     /* DW_FORM_string */
131         .uleb128        0x11                    /* DW_AT_low_pc */
132         .uleb128        0x1                     /* DW_FORM_addr */
133         .uleb128        0x12                    /* DW_AT_high_pc */
134         .uleb128        0x1                     /* DW_FORM_addr */
135         .byte           0x0                     /* Terminator */
136         .byte           0x0                     /* Terminator */
138         .byte           0x0                     /* Terminator */
139         .byte           0x0                     /* Terminator */
141 /* Line table */
142         .section .debug_line
143 .Lline1_begin:
144         .4byte          .Lline1_end - .Lline1_start     /* Initial length */
145 .Lline1_start:
146         .2byte          2                       /* Version */
147         .4byte          .Lline1_lines - .Lline1_hdr     /* header_length */
148 .Lline1_hdr:
149         .byte           1                       /* Minimum insn length */
150         .byte           1                       /* default_is_stmt */
151         .byte           1                       /* line_base */
152         .byte           1                       /* line_range */
153         .byte           0x10                    /* opcode_base */
155         /* Standard lengths */
156         .byte           0
157         .byte           1
158         .byte           1
159         .byte           1
160         .byte           1
161         .byte           0
162         .byte           0
163         .byte           0
164         .byte           1
165         .byte           0
166         .byte           0
167         .byte           1
168         .byte           0
169         .byte           0
170         .byte           0
172         /* Include directories */
173         .ascii  "/tmp\0"
174         .byte           0
176         /* File names */
177         .ascii          "outer.c\0"
178         .uleb128        1
179         .uleb128        0
180         .uleb128        0
182         .byte           0
184 .Lline1_lines:
185         .byte           0       /* DW_LNE_set_address */
186         .uleb128        5
187         .byte           2
188         .4byte          .Lbegin_outer_before
190         .byte           1       /* DW_LNS_copy */
192         .byte           0       /* DW_LNE_set_address */
193         .uleb128        5
194         .byte           2
195         .4byte          .Lbegin_outer_after
197         .byte           3       /* DW_LNS_advance_line */
198         .sleb128        2       /* ... to 3 */
200         .byte           1       /* DW_LNS_copy */
202         .byte           0       /* DW_LNE_set_address */
203         .uleb128        5
204         .byte           2
205         .4byte          .Lend_outer_after
207         .byte           0       /* DW_LNE_end_of_sequence */
208         .uleb128        1
209         .byte           1
211 .Lline1_end: