Automatic date update in version.in
[binutils-gdb/blckswan.git] / gdb / testsuite / gdb.mi / dw2-ref-missing-frame.S
blobc93c1cdddbfdb830ceea7f023c22dabbacaa293c
1 /* This testcase is part of GDB, the GNU debugger.
3    Copyright 2007-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 /* Debug information */
20         .section .debug_info
21 .Lcu1_begin:
22         /* CU header */
23         .4byte  .Lcu1_end - .Lcu1_start         /* Length of Compilation Unit */
24 .Lcu1_start:
25         .2byte  2                               /* DWARF Version */
26         .4byte  .Labbrev1_begin                 /* Offset into abbrev section */
27         .byte   4                               /* Pointer size */
29         /* CU die */
30         .uleb128 1                              /* Abbrev: DW_TAG_compile_unit */
31         .4byte  cu_text_end                     /* DW_AT_high_pc */
32         .4byte  cu_text_start                   /* DW_AT_low_pc */
33         .ascii  "file1.txt\0"                   /* DW_AT_name */
34         .ascii  "GNU C 3.3.3\0"                 /* DW_AT_producer */
35         .byte   1                               /* DW_AT_language (C) */
37 .Ltype_int:
38         .uleb128        3                       /* Abbrev: DW_TAG_base_type */
39         .ascii          "int\0"                 /* DW_AT_name */
40         .byte           4                       /* DW_AT_byte_size */
41         .byte           5                       /* DW_AT_encoding */
43         /* func_nofb */
44         .uleb128        5                       /* Abbrev: DW_TAG_subprogram (no fb) */
45         .ascii          "func_nofb\0"           /* DW_AT_name */
46         .4byte          func_nofb_start         /* DW_AT_low_pc */
47         .4byte          func_nofb_end           /* DW_AT_high_pc */
49         .uleb128        7                       /* Abbrev: DW_TAG_variable (location) */
50         .ascii          "func_nofb_var\0"       /* DW_AT_name */
51         .byte           2f - 1f                 /* DW_AT_location */
52 1:      .byte           0x91                    /*   DW_OP_fbreg */
53         .sleb128        0                       /*   0 */
54 2:      .4byte          .Ltype_int-.Lcu1_begin  /* DW_AT_type */
56         .uleb128        7                       /* Abbrev: DW_TAG_variable (location) */
57         .ascii          "func_nofb_var2\0"      /* DW_AT_name */
58         .byte           2f - 1f                 /* DW_AT_location */
59 1:      .byte           0x91                    /*   DW_OP_fbreg */
60         .sleb128        0                       /*   0 */
61 2:      .4byte          .Ltype_int-.Lcu1_begin  /* DW_AT_type */
63         .byte           0                       /* End of children of func */
65         /* func_loopfb */
66         .uleb128        6                       /* Abbrev: DW_TAG_subprogram (loop fb) */
67         .ascii          "func_loopfb\0"         /* DW_AT_name */
68         .4byte          func_loopfb_start       /* DW_AT_low_pc */
69         .4byte          func_loopfb_end         /* DW_AT_high_pc */
70         .byte           2f - 1f                 /* DW_AT_frame_base */
71 1:      .byte           0x91                    /*   DW_OP_fbreg */
72         .sleb128        0                       /*   0 */
75         .uleb128        7                       /* Abbrev: DW_TAG_variable (location) */
76         .ascii          "func_loopfb_var\0"     /* DW_AT_name */
77         .byte           2f - 1f                 /* DW_AT_location */
78 1:      .byte           0x91                    /*   DW_OP_fbreg */
79         .sleb128        0                       /*   0 */
80 2:      .4byte          .Ltype_int-.Lcu1_begin  /* DW_AT_type */
82         .uleb128        7                       /* Abbrev: DW_TAG_variable (location) */
83         .ascii          "func_loopfb_var2\0"    /* DW_AT_name */
84         .byte           2f - 1f                 /* DW_AT_location */
85 1:      .byte           0x91                    /*   DW_OP_fbreg */
86         .sleb128        0                       /*   0 */
87 2:      .4byte          .Ltype_int-.Lcu1_begin  /* DW_AT_type */
89         .byte           0                       /* End of children of func */
91         .byte           0                       /* End of children of CU */
93 .Lcu1_end:
95 /* Abbrev table */
96         .section .debug_abbrev
97 .Labbrev1_begin:
98         .uleb128        1                       /* Abbrev code */
99         .uleb128        0x11                    /* DW_TAG_compile_unit */
100         .byte           1                       /* has_children */
101         .uleb128        0x12                    /* DW_AT_high_pc */
102         .uleb128        0x1                     /* DW_FORM_addr */
103         .uleb128        0x11                    /* DW_AT_low_pc */
104         .uleb128        0x1                     /* DW_FORM_addr */
105         .uleb128        0x3                     /* DW_AT_name */
106         .uleb128        0x8                     /* DW_FORM_string */
107         .uleb128        0x25                    /* DW_AT_producer */
108         .uleb128        0x8                     /* DW_FORM_string */
109         .uleb128        0x13                    /* DW_AT_language */
110         .uleb128        0xb                     /* DW_FORM_data1 */
111         .byte           0x0                     /* Terminator */
112         .byte           0x0                     /* Terminator */
114         .uleb128        3                       /* Abbrev code */
115         .uleb128        0x24                    /* DW_TAG_base_type */
116         .byte           0                       /* has_children */
117         .uleb128        0x3                     /* DW_AT_name */
118         .uleb128        0x8                     /* DW_FORM_string */
119         .uleb128        0xb                     /* DW_AT_byte_size */
120         .uleb128        0xb                     /* DW_FORM_data1 */
121         .uleb128        0x3e                    /* DW_AT_encoding */
122         .uleb128        0xb                     /* DW_FORM_data1 */
123         .byte           0x0                     /* Terminator */
124         .byte           0x0                     /* Terminator */
126         .uleb128        5                       /* Abbrev code */
127         .uleb128        0x2e                    /* DW_TAG_subprogram (no fb) */
128         .byte           1                       /* has_children */
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         .uleb128        6                       /* Abbrev code */
139         .uleb128        0x2e                    /* DW_TAG_subprogram (loop fb) */
140         .byte           1                       /* has_children */
141         .uleb128        0x3                     /* DW_AT_name */
142         .uleb128        0x8                     /* DW_FORM_string */
143         .uleb128        0x11                    /* DW_AT_low_pc */
144         .uleb128        0x1                     /* DW_FORM_addr */
145         .uleb128        0x12                    /* DW_AT_high_pc */
146         .uleb128        0x1                     /* DW_FORM_addr */
147         .uleb128        0x40                    /* DW_AT_frame_base */
148         .uleb128        0xa                     /* DW_FORM_block1 */
149         .byte           0x0                     /* Terminator */
150         .byte           0x0                     /* Terminator */
152         .uleb128        7                       /* Abbrev code (location) */
153         .uleb128        0x34                    /* DW_TAG_variable */
154         .byte           0                       /* has_children */
155         .uleb128        0x3                     /* DW_AT_name */
156         .uleb128        0x8                     /* DW_FORM_string */
157         .uleb128        0x2                     /* DW_AT_location */
158         .uleb128        0xa                     /* DW_FORM_block1 */
159         .uleb128        0x49                    /* DW_AT_type */
160         .uleb128        0x13                    /* DW_FORM_ref4 */
161         .byte           0x0                     /* Terminator */
162         .byte           0x0                     /* Terminator */
164         .byte           0x0                     /* Terminator */
165         .byte           0x0                     /* Terminator */