update comment in dw2-bad-cfi.S.
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.dwarf2 / dw2-bad-cfi.S
1 # This file was created by running dw2-bad-cfi.c
2 # through 'gcc -g -dA -S', and then hand-editing
3 # the CFI in "callee" to suit.
4
5 .file "dw2-bad-cfi.c"
6 .text
7 .Ltext0:
8 .globl callee
9 .type callee, @function
10 callee:
11 .LFB0:
12 .file 1 "dw2-bad-cfi.c"
13 # dw2-bad-cfi.c:20
14 .loc 1 20 0
15 .cfi_startproc
16 # BLOCK 2 seq:0
17 # PRED: ENTRY (fallthru)
18 pushq %rbp
19 /*
20 .cfi_def_cfa_offset 16
21 .cfi_offset 6, -16
22 */
23 movq %rsp, %rbp
24 /* .cfi_def_cfa_register 6 */
25 # dw2-bad-cfi.c:21
26 .loc 1 21 0
27 popq %rbp
28 /* .cfi_def_cfa 7, 8 */
29 /* The bug we introduce is that the return address column is
30 unspecified. In this case, there is no way to unwind. */
31 .cfi_undefined 6
32 .cfi_return_column 6
33 # SUCC: EXIT [100.0%]
34 ret
35 .cfi_endproc
36 .LFE0:
37 .size callee, .-callee
38 .globl main
39 .type main, @function
40 main:
41 .LFB1:
42 # dw2-bad-cfi.c:25
43 .loc 1 25 0
44 .cfi_startproc
45 # BLOCK 2 seq:0
46 # PRED: ENTRY (fallthru)
47 pushq %rbp
48 .cfi_def_cfa_offset 16
49 .cfi_offset 6, -16
50 movq %rsp, %rbp
51 .cfi_def_cfa_register 6
52 # dw2-bad-cfi.c:26
53 .loc 1 26 0
54 call callee
55 # dw2-bad-cfi.c:27
56 .loc 1 27 0
57 movl $0, %eax
58 # dw2-bad-cfi.c:28
59 .loc 1 28 0
60 popq %rbp
61 .cfi_def_cfa 7, 8
62 # SUCC: EXIT [100.0%]
63 ret
64 .cfi_endproc
65 .LFE1:
66 .size main, .-main
67 .Letext0:
68 .section .debug_info,"",@progbits
69 .Ldebug_info0:
70 .long 0x67 # Length of Compilation Unit Info
71 .value 0x4 # DWARF version number
72 .long .Ldebug_abbrev0 # Offset Into Abbrev. Section
73 .byte 0x8 # Pointer Size (in bytes)
74 .uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit)
75 .long .LASF0 # DW_AT_producer: "GNU C 4.7.2 20121109 (Red Hat 4.7.2-8) -mtune=generic -march=x86-64 -g"
76 .byte 0x1 # DW_AT_language
77 .long .LASF1 # DW_AT_name: "dw2-bad-cfi.c"
78 .long .LASF2 # DW_AT_comp_dir: "/home/tromey/gnu/gdb/devel/binutils-gdb/gdb/testsuite/gdb.dwarf2"
79 .quad .Ltext0 # DW_AT_low_pc
80 .quad .Letext0 # DW_AT_high_pc
81 .long .Ldebug_line0 # DW_AT_stmt_list
82 .uleb128 0x2 # (DIE (0x2d) DW_TAG_subprogram)
83 # DW_AT_external
84 .long .LASF3 # DW_AT_name: "callee"
85 .byte 0x1 # DW_AT_decl_file (dw2-bad-cfi.c)
86 .byte 0x13 # DW_AT_decl_line
87 # DW_AT_prototyped
88 .quad .LFB0 # DW_AT_low_pc
89 .quad .LFE0 # DW_AT_high_pc
90 .uleb128 0x1 # DW_AT_frame_base
91 .byte 0x9c # DW_OP_call_frame_cfa
92 # DW_AT_GNU_all_call_sites
93 .uleb128 0x3 # (DIE (0x46) DW_TAG_subprogram)
94 # DW_AT_external
95 .long .LASF4 # DW_AT_name: "main"
96 .byte 0x1 # DW_AT_decl_file (dw2-bad-cfi.c)
97 .byte 0x18 # DW_AT_decl_line
98 # DW_AT_prototyped
99 .long 0x63 # DW_AT_type
100 .quad .LFB1 # DW_AT_low_pc
101 .quad .LFE1 # DW_AT_high_pc
102 .uleb128 0x1 # DW_AT_frame_base
103 .byte 0x9c # DW_OP_call_frame_cfa
104 # DW_AT_GNU_all_tail_call_sites
105 .uleb128 0x4 # (DIE (0x63) DW_TAG_base_type)
106 .byte 0x4 # DW_AT_byte_size
107 .byte 0x5 # DW_AT_encoding
108 .ascii "int\0" # DW_AT_name
109 .byte 0 # end of children of DIE 0xb
110 .section .debug_abbrev,"",@progbits
111 .Ldebug_abbrev0:
112 .uleb128 0x1 # (abbrev code)
113 .uleb128 0x11 # (TAG: DW_TAG_compile_unit)
114 .byte 0x1 # DW_children_yes
115 .uleb128 0x25 # (DW_AT_producer)
116 .uleb128 0xe # (DW_FORM_strp)
117 .uleb128 0x13 # (DW_AT_language)
118 .uleb128 0xb # (DW_FORM_data1)
119 .uleb128 0x3 # (DW_AT_name)
120 .uleb128 0xe # (DW_FORM_strp)
121 .uleb128 0x1b # (DW_AT_comp_dir)
122 .uleb128 0xe # (DW_FORM_strp)
123 .uleb128 0x11 # (DW_AT_low_pc)
124 .uleb128 0x1 # (DW_FORM_addr)
125 .uleb128 0x12 # (DW_AT_high_pc)
126 .uleb128 0x1 # (DW_FORM_addr)
127 .uleb128 0x10 # (DW_AT_stmt_list)
128 .uleb128 0x17 # (DW_FORM_sec_offset)
129 .byte 0
130 .byte 0
131 .uleb128 0x2 # (abbrev code)
132 .uleb128 0x2e # (TAG: DW_TAG_subprogram)
133 .byte 0 # DW_children_no
134 .uleb128 0x3f # (DW_AT_external)
135 .uleb128 0x19 # (DW_FORM_flag_present)
136 .uleb128 0x3 # (DW_AT_name)
137 .uleb128 0xe # (DW_FORM_strp)
138 .uleb128 0x3a # (DW_AT_decl_file)
139 .uleb128 0xb # (DW_FORM_data1)
140 .uleb128 0x3b # (DW_AT_decl_line)
141 .uleb128 0xb # (DW_FORM_data1)
142 .uleb128 0x27 # (DW_AT_prototyped)
143 .uleb128 0x19 # (DW_FORM_flag_present)
144 .uleb128 0x11 # (DW_AT_low_pc)
145 .uleb128 0x1 # (DW_FORM_addr)
146 .uleb128 0x12 # (DW_AT_high_pc)
147 .uleb128 0x1 # (DW_FORM_addr)
148 .uleb128 0x40 # (DW_AT_frame_base)
149 .uleb128 0x18 # (DW_FORM_exprloc)
150 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
151 .uleb128 0x19 # (DW_FORM_flag_present)
152 .byte 0
153 .byte 0
154 .uleb128 0x3 # (abbrev code)
155 .uleb128 0x2e # (TAG: DW_TAG_subprogram)
156 .byte 0 # DW_children_no
157 .uleb128 0x3f # (DW_AT_external)
158 .uleb128 0x19 # (DW_FORM_flag_present)
159 .uleb128 0x3 # (DW_AT_name)
160 .uleb128 0xe # (DW_FORM_strp)
161 .uleb128 0x3a # (DW_AT_decl_file)
162 .uleb128 0xb # (DW_FORM_data1)
163 .uleb128 0x3b # (DW_AT_decl_line)
164 .uleb128 0xb # (DW_FORM_data1)
165 .uleb128 0x27 # (DW_AT_prototyped)
166 .uleb128 0x19 # (DW_FORM_flag_present)
167 .uleb128 0x49 # (DW_AT_type)
168 .uleb128 0x13 # (DW_FORM_ref4)
169 .uleb128 0x11 # (DW_AT_low_pc)
170 .uleb128 0x1 # (DW_FORM_addr)
171 .uleb128 0x12 # (DW_AT_high_pc)
172 .uleb128 0x1 # (DW_FORM_addr)
173 .uleb128 0x40 # (DW_AT_frame_base)
174 .uleb128 0x18 # (DW_FORM_exprloc)
175 .uleb128 0x2116 # (DW_AT_GNU_all_tail_call_sites)
176 .uleb128 0x19 # (DW_FORM_flag_present)
177 .byte 0
178 .byte 0
179 .uleb128 0x4 # (abbrev code)
180 .uleb128 0x24 # (TAG: DW_TAG_base_type)
181 .byte 0 # DW_children_no
182 .uleb128 0xb # (DW_AT_byte_size)
183 .uleb128 0xb # (DW_FORM_data1)
184 .uleb128 0x3e # (DW_AT_encoding)
185 .uleb128 0xb # (DW_FORM_data1)
186 .uleb128 0x3 # (DW_AT_name)
187 .uleb128 0x8 # (DW_FORM_string)
188 .byte 0
189 .byte 0
190 .byte 0
191 .section .debug_aranges,"",@progbits
192 .long 0x2c # Length of Address Ranges Info
193 .value 0x2 # DWARF Version
194 .long .Ldebug_info0 # Offset of Compilation Unit Info
195 .byte 0x8 # Size of Address
196 .byte 0 # Size of Segment Descriptor
197 .value 0 # Pad to 16 byte boundary
198 .value 0
199 .quad .Ltext0 # Address
200 .quad .Letext0-.Ltext0 # Length
201 .quad 0
202 .quad 0
203 .section .debug_line,"",@progbits
204 .Ldebug_line0:
205 .section .debug_str,"MS",@progbits,1
206 .LASF3:
207 .string "callee"
208 .LASF1:
209 .string "dw2-bad-cfi.c"
210 .LASF2:
211 .string "/home/tromey/gnu/gdb/devel/binutils-gdb/gdb/testsuite/gdb.dwarf2"
212 .LASF4:
213 .string "main"
214 .LASF0:
215 .string "GNU C 4.7.2 20121109 (Red Hat 4.7.2-8) -mtune=generic -march=x86-64 -g"
216 .ident "GCC: (GNU) 4.7.2 20121109 (Red Hat 4.7.2-8)"
217 .section .note.GNU-stack,"",@progbits
This page took 0.035174 seconds and 4 git commands to generate.