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.
9 .type callee, @function
12 .file 1 "dw2-bad-cfi.c"
17 # PRED: ENTRY (fallthru)
20 .cfi_def_cfa_offset 16
24 /* .cfi_def_cfa_register 6 */
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. */
37 .size callee, .-callee
46 # PRED: ENTRY (fallthru)
48 .cfi_def_cfa_offset 16
51 .cfi_def_cfa_register 6
68 .section .debug_info,"",@progbits
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)
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
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)
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
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
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)
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)
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)
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)
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
199 .quad .Ltext0 # Address
200 .quad .Letext0-.Ltext0 # Length
203 .section .debug_line,"",@progbits
205 .section .debug_str,"MS",@progbits,1
209 .string "dw2-bad-cfi.c"
211 .string "/home/tromey/gnu/gdb/devel/binutils-gdb/gdb/testsuite/gdb.dwarf2"
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