worf 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +3 -0
- data/LICENSE +201 -0
- data/README.md +73 -0
- data/Rakefile +18 -0
- data/lib/worf.rb +563 -0
- data/lib/worf/constants.erb +17 -0
- data/lib/worf/constants.rb +693 -0
- data/lib/worf/constants.yml +799 -0
- data/test/dwarf_test.rb +128 -0
- data/test/fixtures/a.out +0 -0
- data/test/fixtures/a.out.dSYM/Contents/Info.plist +20 -0
- data/test/fixtures/a.out.dSYM/Contents/Resources/DWARF/a.out +0 -0
- data/test/fixtures/out.dSYM/Contents/Info.plist +20 -0
- data/test/fixtures/out.dSYM/Contents/Resources/DWARF/out +0 -0
- data/test/fixtures/slop.c +17 -0
- data/test/fixtures/thing.c +6 -0
- data/test/helper.rb +59 -0
- data/test/mach_o_dwarf_integration_test.rb +52 -0
- data/test/ruby_test.rb +238 -0
- data/worf.gemspec +15 -0
- metadata +116 -0
@@ -0,0 +1,799 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"name": "Table 7.2 Unit Header Types",
|
4
|
+
"header": ["Unit header unit type encodings", "Value"],
|
5
|
+
"body": [
|
6
|
+
["DW_UT_compile", 0x01],
|
7
|
+
["DW_UT_type", 0x02],
|
8
|
+
["DW_UT_partial", 0x03],
|
9
|
+
["DW_UT_skeleton", 0x04],
|
10
|
+
["DW_UT_split_compile", 0x05],
|
11
|
+
["DW_UT_split_type", 0x06],
|
12
|
+
["DW_UT_lo_user", 0x80],
|
13
|
+
["DW_UT_hi_user", 0xff],
|
14
|
+
]
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"name": "Table 7.3: Tag encodings",
|
18
|
+
"header": ["Tag name", "Value"],
|
19
|
+
"body": [
|
20
|
+
["DW_TAG_array_type", 0x01],
|
21
|
+
["DW_TAG_class_type", 0x02],
|
22
|
+
["DW_TAG_entry_point", 0x03],
|
23
|
+
["DW_TAG_enumeration_type", 0x04],
|
24
|
+
["DW_TAG_formal_parameter", 0x05],
|
25
|
+
["Reserved", 0x06],
|
26
|
+
["Reserved", 0x07],
|
27
|
+
["DW_TAG_imported_declaration", 0x08],
|
28
|
+
["Reserved", 0x09],
|
29
|
+
["DW_TAG_label", 0x0a],
|
30
|
+
["DW_TAG_lexical_block", 0x0b],
|
31
|
+
["Reserved", 0x0c],
|
32
|
+
["DW_TAG_member", 0x0d],
|
33
|
+
["Reserved", 0x0e],
|
34
|
+
["DW_TAG_pointer_type", 0x0f],
|
35
|
+
["DW_TAG_reference_type", 0x10],
|
36
|
+
["DW_TAG_compile_unit", 0x11],
|
37
|
+
["DW_TAG_string_type", 0x12],
|
38
|
+
["DW_TAG_structure_type", 0x13],
|
39
|
+
["Reserved", 0x14],
|
40
|
+
["DW_TAG_subroutine_type", 0x15],
|
41
|
+
["DW_TAG_typedef", 0x16],
|
42
|
+
["DW_TAG_union_type", 0x17],
|
43
|
+
["DW_TAG_unspecified_parameters", 0x18],
|
44
|
+
["DW_TAG_variant", 0x19],
|
45
|
+
["DW_TAG_common_block", 0x1a],
|
46
|
+
["DW_TAG_common_inclusion", 0x1b],
|
47
|
+
["DW_TAG_inheritance", 0x1c],
|
48
|
+
["DW_TAG_inlined_subroutine", 0x1d],
|
49
|
+
["DW_TAG_module", 0x1e],
|
50
|
+
["DW_TAG_ptr_to_member_type", 0x1f],
|
51
|
+
["DW_TAG_set_type", 0x20],
|
52
|
+
["DW_TAG_subrange_type", 0x21],
|
53
|
+
["DW_TAG_with_stmt", 0x22],
|
54
|
+
["DW_TAG_access_declaration", 0x23],
|
55
|
+
["DW_TAG_base_type", 0x24],
|
56
|
+
["DW_TAG_catch_block", 0x25],
|
57
|
+
["DW_TAG_const_type", 0x26],
|
58
|
+
["DW_TAG_constant", 0x27],
|
59
|
+
["DW_TAG_enumerator", 0x28],
|
60
|
+
["DW_TAG_file_type", 0x29],
|
61
|
+
["DW_TAG_friend", 0x2a],
|
62
|
+
["DW_TAG_namelist", 0x2b],
|
63
|
+
["DW_TAG_namelist_item", 0x2c],
|
64
|
+
["DW_TAG_packed_type", 0x2d],
|
65
|
+
["DW_TAG_subprogram", 0x2e],
|
66
|
+
["DW_TAG_template_type_parameter", 0x2f],
|
67
|
+
["DW_TAG_template_value_parameter", 0x30],
|
68
|
+
["DW_TAG_thrown_type", 0x31],
|
69
|
+
["DW_TAG_try_block", 0x32],
|
70
|
+
["DW_TAG_variant_part", 0x33],
|
71
|
+
["DW_TAG_variable", 0x34],
|
72
|
+
["DW_TAG_volatile_type", 0x35],
|
73
|
+
["DW_TAG_dwarf_procedure", 0x36],
|
74
|
+
["DW_TAG_restrict_type", 0x37],
|
75
|
+
["DW_TAG_interface_type", 0x38],
|
76
|
+
["DW_TAG_namespace", 0x39],
|
77
|
+
["DW_TAG_imported_module", 0x3a],
|
78
|
+
["DW_TAG_unspecified_type", 0x3b],
|
79
|
+
["DW_TAG_partial_unit", 0x3c],
|
80
|
+
["DW_TAG_imported_unit", 0x3d],
|
81
|
+
["Reserved", 0x3e1],
|
82
|
+
["DW_TAG_condition", 0x3f],
|
83
|
+
["DW_TAG_shared_type", 0x40],
|
84
|
+
["DW_TAG_type_unit", 0x41],
|
85
|
+
["DW_TAG_rvalue_reference_type", 0x42],
|
86
|
+
["DW_TAG_template_alias", 0x43],
|
87
|
+
["DW_TAG_coarray_type", 0x44],
|
88
|
+
["DW_TAG_generic_subrange", 0x45],
|
89
|
+
["DW_TAG_dynamic_type", 0x46],
|
90
|
+
["DW_TAG_atomic_type", 0x47],
|
91
|
+
["DW_TAG_call_site", 0x48],
|
92
|
+
["DW_TAG_call_site_parameter", 0x49],
|
93
|
+
["DW_TAG_skeleton_unit", 0x4a],
|
94
|
+
["DW_TAG_immutable_type", 0x4b],
|
95
|
+
["DW_TAG_low_user", 0x4080],
|
96
|
+
["DW_TAG_hi_user", 0xffff],
|
97
|
+
]
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"name": "Table 7.4: Child determination encodings",
|
101
|
+
"header": ["Children determination name", "Value"],
|
102
|
+
"body": [
|
103
|
+
["DW_CHILDREN_no", 0x00],
|
104
|
+
["DW_CHILDREN_yes", 0x01],
|
105
|
+
]
|
106
|
+
},
|
107
|
+
{
|
108
|
+
"name": "Table 7.5: Attribute encodings",
|
109
|
+
"header": ["Attribute name", "Value", "Classes"],
|
110
|
+
"body": [
|
111
|
+
["DW_AT_sibling", 0x01, "reference"],
|
112
|
+
["DW_AT_location", 0x02, "exprloc, loclist"],
|
113
|
+
["DW_AT_name", 0x03, "string"],
|
114
|
+
["Reserved", 0x04, "not applicable"],
|
115
|
+
["Reserved", 0x05, "not applicable"],
|
116
|
+
["Reserved", 0x06, "not applicable"],
|
117
|
+
["Reserved", 0x07, "not applicable"],
|
118
|
+
["Reserved", 0x08, "not applicable"],
|
119
|
+
["DW_AT_ordering", 0x09, "constant"],
|
120
|
+
["Reserved", 0x0a, "not applicable"],
|
121
|
+
["DW_AT_byte_size", 0x0b, "constant, exprloc, reference"],
|
122
|
+
["Reserved", 0x0c, "constant, exprloc, reference"],
|
123
|
+
["DW_AT_bit_size", 0x0d, "constant, exprloc, reference"],
|
124
|
+
["Reserved", 0x0e, "not applicable"],
|
125
|
+
["Reserved", 0x0f, "not applicable"],
|
126
|
+
["DW_AT_stmt_list", 0x10, "lineptr"],
|
127
|
+
["DW_AT_low_pc", 0x11, "address"],
|
128
|
+
["DW_AT_high_pc", 0x12, "address, constant"],
|
129
|
+
["DW_AT_language", 0x13, "constant"],
|
130
|
+
["Reserved", 0x14, "not applicable"],
|
131
|
+
["DW_AT_discr", 0x15, "reference"],
|
132
|
+
["DW_AT_discr_value", 0x16, "constant"],
|
133
|
+
["DW_AT_visibility", 0x17, "constant"],
|
134
|
+
["DW_AT_import", 0x18, "reference"],
|
135
|
+
["DW_AT_string_length", 0x19, "exprloc, loclist, reference"],
|
136
|
+
["DW_AT_common_reference", 0x1a, "reference"],
|
137
|
+
["DW_AT_comp_dir", 0x1b, "string"],
|
138
|
+
["DW_AT_const_value", 0x1c, "block, constant, string"],
|
139
|
+
["DW_AT_containing_type", 0x1d, "reference"],
|
140
|
+
["DW_AT_default_value", 0x1e, "constant, reference, flag"],
|
141
|
+
["Reserved", 0x1f, "not applicable"],
|
142
|
+
["DW_AT_inline", 0x20, "constant"],
|
143
|
+
["DW_AT_is_optional", 0x21, "flag"],
|
144
|
+
["DW_AT_lower_bound", 0x22, "constant, exprloc, reference"],
|
145
|
+
["Reserved", 0x23, "not applicable"],
|
146
|
+
["Reserved", 0x24, "not applicable"],
|
147
|
+
["DW_AT_producer", 0x25, "string"],
|
148
|
+
["Reserved", 0x26, "not applicable"],
|
149
|
+
["DW_AT_prototyped", 0x27, "flag"],
|
150
|
+
["Reserved", 0x28, "not applicable"],
|
151
|
+
["Reserved", 0x29, "not applicable"],
|
152
|
+
["DW_AT_return_addr", 0x2a, "exprloc, loclist"],
|
153
|
+
["Reserved", 0x2b, "not applicable"],
|
154
|
+
["DW_AT_start_scope", 0x2c, "constant, rnglist"],
|
155
|
+
["Reserved", 0x2d, "not applicable"],
|
156
|
+
["DW_AT_bit_stride", 0x2e, "constant, exprloc, reference"],
|
157
|
+
["DW_AT_upper_bound", 0x2f, "constant, exprloc, reference"],
|
158
|
+
["Reserved", 0x30, "not applicable"],
|
159
|
+
["DW_AT_abstract_origin", 0x31, "reference"],
|
160
|
+
["DW_AT_accessibility", 0x32, "constant"],
|
161
|
+
["DW_AT_address_class", 0x33, "constant"],
|
162
|
+
["DW_AT_artificial", 0x34, "flag"],
|
163
|
+
["DW_AT_base_types", 0x35, "reference"],
|
164
|
+
["DW_AT_calling_convention", 0x36, "constant"],
|
165
|
+
["DW_AT_count", 0x37, "constant, exprloc, reference"],
|
166
|
+
["DW_AT_data_member_location", 0x38, "constant, exprloc, loclist"],
|
167
|
+
["DW_AT_decl_column", 0x39, "constant"],
|
168
|
+
["DW_AT_decl_file", 0x3a, "constant"],
|
169
|
+
["DW_AT_decl_line", 0x3b, "constant"],
|
170
|
+
["DW_AT_declaration", 0x3c, "flag"],
|
171
|
+
["DW_AT_discr_list", 0x3d, "block"],
|
172
|
+
["DW_AT_encoding", 0x3e, "constant"],
|
173
|
+
["DW_AT_external", 0x3f, "flag"],
|
174
|
+
["DW_AT_frame_base", 0x40, "exprloc, loclist"],
|
175
|
+
["DW_AT_friend", 0x41, "reference"],
|
176
|
+
["DW_AT_identifier_case", 0x42, "constant"],
|
177
|
+
["Reserved", 0x433, "macptr"],
|
178
|
+
["DW_AT_namelist_item", 0x44, "reference"],
|
179
|
+
["DW_AT_priority", 0x45, "reference"],
|
180
|
+
["DW_AT_segment", 0x46, "exprloc, loclist"],
|
181
|
+
["DW_AT_specification", 0x47, "reference"],
|
182
|
+
["DW_AT_static_link", 0x48, "exprloc, loclist"],
|
183
|
+
["DW_AT_type", 0x49, "reference"],
|
184
|
+
["DW_AT_use_location", 0x4a, "exprloc, loclist"],
|
185
|
+
["DW_AT_variable_parameter", 0x4b, "flag"],
|
186
|
+
["DW_AT_virtuality", 0x4c, "constant"],
|
187
|
+
["DW_AT_vtable_elem_location", 0x4d, "exprloc, loclist"],
|
188
|
+
["DW_AT_allocated", 0x4e, "constant, exprloc, reference"],
|
189
|
+
["DW_AT_associated", 0x4f, "constant, exprloc, reference"],
|
190
|
+
["DW_AT_data_location", 0x50, "exprloc"],
|
191
|
+
["DW_AT_byte_stride", 0x51, "constant, exprloc, reference"],
|
192
|
+
["DW_AT_entry_pc", 0x52, "address, constant"],
|
193
|
+
["DW_AT_use_UTF8", 0x53, "flag"],
|
194
|
+
["DW_AT_extension", 0x54, "reference"],
|
195
|
+
["DW_AT_ranges", 0x55, "rnglist"],
|
196
|
+
["DW_AT_trampoline", 0x56, "address, flag, reference, string"],
|
197
|
+
["DW_AT_call_column", 0x57, "constant"],
|
198
|
+
["DW_AT_call_file", 0x58, "constant"],
|
199
|
+
["DW_AT_call_line", 0x59, "constant"],
|
200
|
+
["DW_AT_description", 0x5a, "string"],
|
201
|
+
["DW_AT_binary_scale", 0x5b, "constant"],
|
202
|
+
["DW_AT_decimal_scale", 0x5c, "constant"],
|
203
|
+
["DW_AT_small", 0x5d, "reference"],
|
204
|
+
["DW_AT_decimal_sign", 0x5e, "constant"],
|
205
|
+
["DW_AT_digit_count", 0x5f, "constant"],
|
206
|
+
["DW_AT_picture_string", 0x60, "string"],
|
207
|
+
["DW_AT_mutable", 0x61, "flag"],
|
208
|
+
["DW_AT_threads_scaled", 0x62, "flag"],
|
209
|
+
["DW_AT_explicit", 0x63, "flag"],
|
210
|
+
["DW_AT_object_pointer", 0x64, "reference"],
|
211
|
+
["DW_AT_endianity", 0x65, "constant"],
|
212
|
+
["DW_AT_elemental", 0x66, "flag"],
|
213
|
+
["DW_AT_pure", 0x67, "flag"],
|
214
|
+
["DW_AT_recursive", 0x68, "flag"],
|
215
|
+
["DW_AT_signature", 0x69, "reference"],
|
216
|
+
["DW_AT_main_subprogram", 0x6a, "flag"],
|
217
|
+
["DW_AT_data_bit_offset", 0x6b, "constant"],
|
218
|
+
["DW_AT_const_expr", 0x6c, "flag"],
|
219
|
+
["DW_AT_enum_class", 0x6d, "flag"],
|
220
|
+
["DW_AT_linkage_name", 0x6e, "string"],
|
221
|
+
["DW_AT_string_length_bit_size", 0x6f, "constant"],
|
222
|
+
["DW_AT_string_length_byte_size", 0x70, "constant"],
|
223
|
+
["DW_AT_rank", 0x71, "constant, exprloc"],
|
224
|
+
["DW_AT_str_offsets_base", 0x72, "stroffsetsptr"],
|
225
|
+
["DW_AT_addr_base", 0x73, "addrptr"],
|
226
|
+
["DW_AT_rnglists_base", 0x74, "rnglistsptr"],
|
227
|
+
["Reserved", 0x75, "Unused"],
|
228
|
+
["DW_AT_dwo_name", 0x76, "string"],
|
229
|
+
["DW_AT_reference", 0x77, "flag"],
|
230
|
+
["DW_AT_rvalue_reference", 0x78, "flag"],
|
231
|
+
["DW_AT_macros", 0x79, "macptr"],
|
232
|
+
["DW_AT_call_all_calls", 0x7a, "flag"],
|
233
|
+
["DW_AT_call_all_source_calls", 0x7b, "flag"],
|
234
|
+
["DW_AT_call_all_tail_calls", 0x7c, "flag"],
|
235
|
+
["DW_AT_call_return_pc", 0x7d, "address"],
|
236
|
+
["DW_AT_call_value", 0x7e, "exprloc"],
|
237
|
+
["DW_AT_call_origin", 0x7f, "exprloc"],
|
238
|
+
["DW_AT_call_parameter", 0x80, "reference"],
|
239
|
+
["DW_AT_call_pc", 0x81, "address"],
|
240
|
+
["DW_AT_call_tail_call", 0x82, "flag"],
|
241
|
+
["DW_AT_call_target", 0x83, "exprloc"],
|
242
|
+
["DW_AT_call_target_clobbered", 0x84, "exprloc"],
|
243
|
+
["DW_AT_call_data_location", 0x85, "exprloc"],
|
244
|
+
["DW_AT_call_data_value", 0x86, "exprloc"],
|
245
|
+
["DW_AT_noreturn", 0x87, "flag"],
|
246
|
+
["DW_AT_alignment", 0x88, "constant"],
|
247
|
+
["DW_AT_export_symbols", 0x89, "flag"],
|
248
|
+
["DW_AT_deleted", 0x8a, "flag"],
|
249
|
+
["DW_AT_defaulted", 0x8b, "constant"],
|
250
|
+
["DW_AT_loclists_base", 0x8c, "loclistsptr"],
|
251
|
+
["DW_AT_lo_user", 0x2000, ],
|
252
|
+
["DW_AT_hi_user", 0x3fff, ]
|
253
|
+
]
|
254
|
+
},
|
255
|
+
{
|
256
|
+
"name": "Table 7.6: Attribute form encodings",
|
257
|
+
"header": ["Form name", "Value", "Classes"],
|
258
|
+
"body": [
|
259
|
+
["DW_FORM_addr", 0x01, "address"],
|
260
|
+
["Reserved", 0x02, ],
|
261
|
+
["DW_FORM_block2", 0x03, "block"],
|
262
|
+
["DW_FORM_block4", 0x04, "block"],
|
263
|
+
["DW_FORM_data2", 0x05, "constant"],
|
264
|
+
["DW_FORM_data4", 0x06, "constant"],
|
265
|
+
["DW_FORM_data8", 0x07, "constant"],
|
266
|
+
["DW_FORM_string", 0x08, "string"],
|
267
|
+
["DW_FORM_block", 0x09, "block"],
|
268
|
+
["DW_FORM_block1", 0x0a, "block"],
|
269
|
+
["DW_FORM_data1", 0x0b, "constant"],
|
270
|
+
["DW_FORM_flag", 0x0c, "flag"],
|
271
|
+
["DW_FORM_sdata", 0x0d, "constant"],
|
272
|
+
["DW_FORM_strp", 0x0e, "string"],
|
273
|
+
["DW_FORM_udata", 0x0f, "constant"],
|
274
|
+
["DW_FORM_ref_addr", 0x10, "reference"],
|
275
|
+
["DW_FORM_ref1", 0x11, "reference"],
|
276
|
+
["DW_FORM_ref2", 0x12, "reference"],
|
277
|
+
["DW_FORM_ref4", 0x13, "reference"],
|
278
|
+
["DW_FORM_ref8", 0x14, "reference"],
|
279
|
+
["DW_FORM_ref_udata", 0x15, "reference"],
|
280
|
+
["DW_FORM_indirect", 0x16, "(see Section 7.5.3 on page 203)"],
|
281
|
+
["DW_FORM_sec_offset", 0x17, "addrptr, lineptr, loclist, loclistsptr, macptr, rnglist, rnglistsptr, stroffsetsptr"],
|
282
|
+
["DW_FORM_exprloc", 0x18, "exprloc"],
|
283
|
+
["DW_FORM_flag_present", 0x19, "flag"],
|
284
|
+
["DW_FORM_strx", 0x1a, "string"],
|
285
|
+
["DW_FORM_addrx", 0x1b, "address"],
|
286
|
+
["DW_FORM_ref_sup4", 0x1c, "reference"],
|
287
|
+
["DW_FORM_strp_sup", 0x1d, "string"],
|
288
|
+
["DW_FORM_data16", 0x1e, "constant"],
|
289
|
+
["DW_FORM_line_strp", 0x1f, "string"],
|
290
|
+
["DW_FORM_ref_sig8", 0x20, "reference"],
|
291
|
+
["DW_FORM_implicit_const", 0x21, "constant"],
|
292
|
+
["DW_FORM_loclistx", 0x22, "loclist"],
|
293
|
+
["DW_FORM_rnglistx", 0x23, "rnglist"],
|
294
|
+
["DW_FORM_ref_sup8", 0x24, "reference"],
|
295
|
+
["DW_FORM_strx1", 0x25, "string"],
|
296
|
+
["DW_FORM_strx2", 0x26, "string"],
|
297
|
+
["DW_FORM_strx3", 0x27, "string"],
|
298
|
+
["DW_FORM_strx4", 0x28, "string"],
|
299
|
+
["DW_FORM_addrx1", 0x29, "address"],
|
300
|
+
["DW_FORM_addrx2", 0x2a, "address"],
|
301
|
+
["DW_FORM_addrx3", 0x2b, "address"],
|
302
|
+
["DW_FORM_addrx4", 0x2c, "address"],
|
303
|
+
]
|
304
|
+
},
|
305
|
+
{
|
306
|
+
"name": "Table 7.9: DWARF operation encodings",
|
307
|
+
"header": ["Operation", "Code", "No. of Operands", "Notes"],
|
308
|
+
"body": [
|
309
|
+
["Reserved", 0x01, null, null],
|
310
|
+
["Reserved", 0x02, null, null],
|
311
|
+
["DW_OP_addr", 0x03, 1, "constant address (size is target specific)"],
|
312
|
+
["Reserved", 0x04, null, null],
|
313
|
+
["Reserved", 0x05, null, null],
|
314
|
+
["DW_OP_deref", 0x06, 0, ],
|
315
|
+
["Reserved", 0x07, null, null],
|
316
|
+
["DW_OP_const1u", 0x08, 1, "1-byte constant"],
|
317
|
+
["DW_OP_const1s", 0x09, 1, "1-byte constant"],
|
318
|
+
["DW_OP_const2u", 0x0a, 1, "2-byte constant"],
|
319
|
+
["DW_OP_const2s", 0x0b, 1, "2-byte constant"],
|
320
|
+
["DW_OP_const4u", 0x0c, 1, "4-byte constant"],
|
321
|
+
["DW_OP_const4s", 0x0d, 1, "4-byte constant"],
|
322
|
+
["DW_OP_const8u", 0x0e, 1, "8-byte constant"],
|
323
|
+
["DW_OP_const8s", 0x0f, 1, "8-byte constant"],
|
324
|
+
["DW_OP_constu", 0x10, 1, "ULEB128 constant"],
|
325
|
+
["DW_OP_consts", 0x11, 1, "SLEB128 constant"],
|
326
|
+
["DW_OP_dup", 0x12, 0, ],
|
327
|
+
["DW_OP_drop", 0x13, 0, ],
|
328
|
+
["DW_OP_over", 0x14, 0, ],
|
329
|
+
["DW_OP_pick", 0x15, 1, "1-byte stack index"],
|
330
|
+
["DW_OP_swap", 0x16, 0, ],
|
331
|
+
["DW_OP_rot", 0x17, 0, ],
|
332
|
+
["DW_OP_xderef", 0x18, 0, ],
|
333
|
+
["DW_OP_abs", 0x19, 0, ],
|
334
|
+
["DW_OP_and", 0x1a, 0, ],
|
335
|
+
["DW_OP_div", 0x1b, 0, ],
|
336
|
+
["DW_OP_minus", 0x1c, 0, ],
|
337
|
+
["DW_OP_mod", 0x1d, 0, ],
|
338
|
+
["DW_OP_mul", 0x1e, 0, ],
|
339
|
+
["DW_OP_neg", 0x1f, 0, ],
|
340
|
+
["DW_OP_not", 0x20, 0, ],
|
341
|
+
["DW_OP_or", 0x21, 0, ],
|
342
|
+
["DW_OP_plus", 0x22, 0, ],
|
343
|
+
["DW_OP_plus_uconst", 0x23, 1, "ULEB128 addend"],
|
344
|
+
["DW_OP_shl", 0x24, 0, ],
|
345
|
+
["DW_OP_shr", 0x25, 0, ],
|
346
|
+
["DW_OP_shra", 0x26, 0, ],
|
347
|
+
["DW_OP_xor", 0x27, 0, ],
|
348
|
+
["DW_OP_bra", 0x28, 1, "signed 2-byte constant"],
|
349
|
+
["DW_OP_eq", 0x29, 0, ],
|
350
|
+
["DW_OP_ge", 0x2a, 0, ],
|
351
|
+
["DW_OP_gt", 0x2b, 0, ],
|
352
|
+
["DW_OP_le", 0x2c, 0, ],
|
353
|
+
["DW_OP_lt", 0x2d, 0, ],
|
354
|
+
["DW_OP_ne", 0x2e, 0, ],
|
355
|
+
["DW_OP_skip", 0x2f, 1, "signed 2-byte constant"],
|
356
|
+
["DW_OP_lit0", 0x30, 0, "literal 0"],
|
357
|
+
["DW_OP_lit1", 0x31, 0, "literal 1"],
|
358
|
+
["DW_OP_lit2", 0x32, 0, "literal 2"],
|
359
|
+
["DW_OP_lit3", 0x33, 0, "literal 3"],
|
360
|
+
["DW_OP_lit4", 0x34, 0, "literal 4"],
|
361
|
+
["DW_OP_lit5", 0x35, 0, "literal 5"],
|
362
|
+
["DW_OP_lit6", 0x36, 0, "literal 6"],
|
363
|
+
["DW_OP_lit7", 0x37, 0, "literal 7"],
|
364
|
+
["DW_OP_lit8", 0x38, 0, "literal 8"],
|
365
|
+
["DW_OP_lit9", 0x39, 0, "literal 9"],
|
366
|
+
["DW_OP_lit10", 0x3a, 0, "literal 10"],
|
367
|
+
["DW_OP_lit11", 0x3b, 0, "literal 11"],
|
368
|
+
["DW_OP_lit12", 0x3c, 0, "literal 12"],
|
369
|
+
["DW_OP_lit13", 0x3d, 0, "literal 13"],
|
370
|
+
["DW_OP_lit14", 0x3e, 0, "literal 14"],
|
371
|
+
["DW_OP_lit15", 0x3f, 0, "literal 15"],
|
372
|
+
["DW_OP_lit16", 0x40, 0, "literal 16"],
|
373
|
+
["DW_OP_lit17", 0x41, 0, "literal 17"],
|
374
|
+
["DW_OP_lit18", 0x42, 0, "literal 18"],
|
375
|
+
["DW_OP_lit19", 0x43, 0, "literal 19"],
|
376
|
+
["DW_OP_lit20", 0x44, 0, "literal 20"],
|
377
|
+
["DW_OP_lit21", 0x45, 0, "literal 21"],
|
378
|
+
["DW_OP_lit22", 0x46, 0, "literal 22"],
|
379
|
+
["DW_OP_lit23", 0x47, 0, "literal 23"],
|
380
|
+
["DW_OP_lit24", 0x48, 0, "literal 24"],
|
381
|
+
["DW_OP_lit25", 0x49, 0, "literal 25"],
|
382
|
+
["DW_OP_lit26", 0x4a, 0, "literal 26"],
|
383
|
+
["DW_OP_lit27", 0x4b, 0, "literal 27"],
|
384
|
+
["DW_OP_lit28", 0x4c, 0, "literal 28"],
|
385
|
+
["DW_OP_lit29", 0x4d, 0, "literal 29"],
|
386
|
+
["DW_OP_lit30", 0x4e, 0, "literal 30"],
|
387
|
+
["DW_OP_lit31", 0x4f, 0, "literal 31"],
|
388
|
+
["DW_OP_reg0", 0x50, 0, "reg 0"],
|
389
|
+
["DW_OP_reg1", 0x51, 0, "reg 1"],
|
390
|
+
["DW_OP_reg2", 0x52, 0, "reg 2"],
|
391
|
+
["DW_OP_reg3", 0x53, 0, "reg 3"],
|
392
|
+
["DW_OP_reg4", 0x54, 0, "reg 4"],
|
393
|
+
["DW_OP_reg5", 0x55, 0, "reg 5"],
|
394
|
+
["DW_OP_reg6", 0x56, 0, "reg 6"],
|
395
|
+
["DW_OP_reg7", 0x57, 0, "reg 7"],
|
396
|
+
["DW_OP_reg8", 0x58, 0, "reg 8"],
|
397
|
+
["DW_OP_reg9", 0x59, 0, "reg 9"],
|
398
|
+
["DW_OP_reg10", 0x5a, 0, "reg 10"],
|
399
|
+
["DW_OP_reg11", 0x5b, 0, "reg 11"],
|
400
|
+
["DW_OP_reg12", 0x5c, 0, "reg 12"],
|
401
|
+
["DW_OP_reg13", 0x5d, 0, "reg 13"],
|
402
|
+
["DW_OP_reg14", 0x5e, 0, "reg 14"],
|
403
|
+
["DW_OP_reg15", 0x5f, 0, "reg 15"],
|
404
|
+
["DW_OP_reg16", 0x60, 0, "reg 16"],
|
405
|
+
["DW_OP_reg17", 0x61, 0, "reg 17"],
|
406
|
+
["DW_OP_reg18", 0x62, 0, "reg 18"],
|
407
|
+
["DW_OP_reg19", 0x63, 0, "reg 19"],
|
408
|
+
["DW_OP_reg20", 0x64, 0, "reg 20"],
|
409
|
+
["DW_OP_reg21", 0x65, 0, "reg 21"],
|
410
|
+
["DW_OP_reg22", 0x66, 0, "reg 22"],
|
411
|
+
["DW_OP_reg23", 0x67, 0, "reg 23"],
|
412
|
+
["DW_OP_reg24", 0x68, 0, "reg 24"],
|
413
|
+
["DW_OP_reg25", 0x69, 0, "reg 25"],
|
414
|
+
["DW_OP_reg26", 0x6a, 0, "reg 26"],
|
415
|
+
["DW_OP_reg27", 0x6b, 0, "reg 27"],
|
416
|
+
["DW_OP_reg28", 0x6c, 0, "reg 28"],
|
417
|
+
["DW_OP_reg29", 0x6d, 0, "reg 29"],
|
418
|
+
["DW_OP_reg30", 0x6e, 0, "reg 30"],
|
419
|
+
["DW_OP_reg31", 0x6f, 0, "reg 31"],
|
420
|
+
["DW_OP_breg0", 0x70, 1, "base register 0 SLEB128 offset"],
|
421
|
+
["DW_OP_breg1", 0x71, 1, "base register 1 SLEB128 offset"],
|
422
|
+
["DW_OP_breg2", 0x72, 1, "base register 2 SLEB128 offset"],
|
423
|
+
["DW_OP_breg3", 0x73, 1, "base register 3 SLEB128 offset"],
|
424
|
+
["DW_OP_breg4", 0x74, 1, "base register 4 SLEB128 offset"],
|
425
|
+
["DW_OP_breg5", 0x75, 1, "base register 5 SLEB128 offset"],
|
426
|
+
["DW_OP_breg6", 0x76, 1, "base register 6 SLEB128 offset"],
|
427
|
+
["DW_OP_breg7", 0x77, 1, "base register 7 SLEB128 offset"],
|
428
|
+
["DW_OP_breg8", 0x78, 1, "base register 8 SLEB128 offset"],
|
429
|
+
["DW_OP_breg9", 0x79, 1, "base register 9 SLEB128 offset"],
|
430
|
+
["DW_OP_breg10", 0x7a, 1, "base register 10 SLEB128 offset"],
|
431
|
+
["DW_OP_breg11", 0x7b, 1, "base register 11 SLEB128 offset"],
|
432
|
+
["DW_OP_breg12", 0x7c, 1, "base register 12 SLEB128 offset"],
|
433
|
+
["DW_OP_breg13", 0x7d, 1, "base register 13 SLEB128 offset"],
|
434
|
+
["DW_OP_breg14", 0x7e, 1, "base register 14 SLEB128 offset"],
|
435
|
+
["DW_OP_breg15", 0x7f, 1, "base register 15 SLEB128 offset"],
|
436
|
+
["DW_OP_breg16", 0x80, 1, "base register 16 SLEB128 offset"],
|
437
|
+
["DW_OP_breg17", 0x81, 1, "base register 17 SLEB128 offset"],
|
438
|
+
["DW_OP_breg18", 0x82, 1, "base register 18 SLEB128 offset"],
|
439
|
+
["DW_OP_breg19", 0x83, 1, "base register 19 SLEB128 offset"],
|
440
|
+
["DW_OP_breg20", 0x84, 1, "base register 20 SLEB128 offset"],
|
441
|
+
["DW_OP_breg21", 0x85, 1, "base register 21 SLEB128 offset"],
|
442
|
+
["DW_OP_breg22", 0x86, 1, "base register 22 SLEB128 offset"],
|
443
|
+
["DW_OP_breg23", 0x87, 1, "base register 23 SLEB128 offset"],
|
444
|
+
["DW_OP_breg24", 0x88, 1, "base register 24 SLEB128 offset"],
|
445
|
+
["DW_OP_breg25", 0x89, 1, "base register 25 SLEB128 offset"],
|
446
|
+
["DW_OP_breg26", 0x8a, 1, "base register 26 SLEB128 offset"],
|
447
|
+
["DW_OP_breg27", 0x8b, 1, "base register 27 SLEB128 offset"],
|
448
|
+
["DW_OP_breg28", 0x8c, 1, "base register 28 SLEB128 offset"],
|
449
|
+
["DW_OP_breg29", 0x8d, 1, "base register 29 SLEB128 offset"],
|
450
|
+
["DW_OP_breg30", 0x8e, 1, "base register 30 SLEB128 offset"],
|
451
|
+
["DW_OP_breg31", 0x8f, 1, "base register 31 SLEB128 offset"],
|
452
|
+
["DW_OP_regx", 0x90, 1, "ULEB128 register"],
|
453
|
+
["DW_OP_fbreg", 0x91, 1, "SLEB128 offset"],
|
454
|
+
["DW_OP_bregx", 0x92, 2, "ULEB128 register, SLEB128 offset"],
|
455
|
+
["DW_OP_piece", 0x93, 1, "ULEB128 size of piece"],
|
456
|
+
["DW_OP_deref_size", 0x94, 1, "1-byte size of data retrieved"],
|
457
|
+
["DW_OP_xderef_size", 0x95, 1, "1-byte size of data retrieved"],
|
458
|
+
["DW_OP_nop", 0x96, 0, ],
|
459
|
+
["DW_OP_push_object_address", 0x97, 0, ],
|
460
|
+
["DW_OP_call2", 0x98, 1, "2-byte offset of DIE"],
|
461
|
+
["DW_OP_call4", 0x99, 1, "4-byte offset of DIE"],
|
462
|
+
["DW_OP_call_ref", 0x9a, 1, "4- or 8-byte offset of DIE"],
|
463
|
+
["DW_OP_form_tls_address", 0x9b, 0, ],
|
464
|
+
["DW_OP_call_frame_cfa", 0x9c, 0, ],
|
465
|
+
["DW_OP_bit_piece", 0x9d, 2, "ULEB128 size, ULEB128 offset"],
|
466
|
+
["DW_OP_implicit_value", 0x9e, 2, "ULEB128 size, block of that size"],
|
467
|
+
["DW_OP_stack_value", 0x9f, 0, ],
|
468
|
+
["DW_OP_implicit_pointer", 0xa0, 2, "4- or 8-byte offset of DIE, SLEB128 constant offset"],
|
469
|
+
["DW_OP_addrx", 0xa1, 1, "ULEB128 indirect address"],
|
470
|
+
["DW_OP_constx", 0xa2, 1, "ULEB128 indirect constant"],
|
471
|
+
["DW_OP_entry_value", 0xa3, 2, "ULEB128 size, block of that size"],
|
472
|
+
["DW_OP_const_type", 0xa4, 3, "ULEB128 type entry offset, 1-byte size, constant value"],
|
473
|
+
["DW_OP_regval_type", 0xa5, 2, "ULEB128 register number, ULEB128 constant offset"],
|
474
|
+
["DW_OP_deref_type", 0xa6, 2, "1-byte size, ULEB128 type entry offset"],
|
475
|
+
["DW_OP_xderef_type", 0xa7, 2, "1-byte size, ULEB128 type entry offset"],
|
476
|
+
["DW_OP_convert", 0xa8, 1, "ULEB128 type entry offset"],
|
477
|
+
["DW_OP_reinterpret", 0xa9, 1, "ULEB128 type entry offset"],
|
478
|
+
["DW_OP_lo_user", 0xe0, null, null],
|
479
|
+
["DW_OP_hi_user", 0xff, null, null],
|
480
|
+
]
|
481
|
+
},
|
482
|
+
{
|
483
|
+
"name": "Table 7.10: Location list entry encoding values",
|
484
|
+
"header": ["Location list entry encoding name", "Value"],
|
485
|
+
"body": [
|
486
|
+
["DW_LLE_end_of_list", 0x00],
|
487
|
+
["DW_LLE_base_addressx", 0x01],
|
488
|
+
["DW_LLE_startx_endx", 0x02],
|
489
|
+
["DW_LLE_startx_length", 0x03],
|
490
|
+
["DW_LLE_offset_pair", 0x04],
|
491
|
+
["DW_LLE_default_location", 0x05],
|
492
|
+
["DW_LLE_base_address", 0x06],
|
493
|
+
["DW_LLE_start_end", 0x07],
|
494
|
+
["DW_LLE_start_length", 0x08],
|
495
|
+
]
|
496
|
+
},
|
497
|
+
{
|
498
|
+
"name": "Table 7.11: Base type encoding values",
|
499
|
+
"header": ["Base type encoding name", "Value"],
|
500
|
+
"body": [
|
501
|
+
["DW_ATE_address", 0x01],
|
502
|
+
["DW_ATE_boolean", 0x02],
|
503
|
+
["DW_ATE_complex_float", 0x03],
|
504
|
+
["DW_ATE_float", 0x04],
|
505
|
+
["DW_ATE_signed", 0x05],
|
506
|
+
["DW_ATE_signed_char", 0x06],
|
507
|
+
["DW_ATE_unsigned", 0x07],
|
508
|
+
["DW_ATE_unsigned_char", 0x08],
|
509
|
+
["DW_ATE_imaginary_float", 0x09],
|
510
|
+
["DW_ATE_packed_decimal", 0x0a],
|
511
|
+
["DW_ATE_numeric_string", 0x0b],
|
512
|
+
["DW_ATE_edited", 0x0c],
|
513
|
+
["DW_ATE_signed_fixed", 0x0d],
|
514
|
+
["DW_ATE_unsigned_fixed", 0x0e],
|
515
|
+
["DW_ATE_decimal_float", 0x0f],
|
516
|
+
["DW_ATE_UTF", 0x10],
|
517
|
+
["DW_ATE_UCS", 0x11],
|
518
|
+
["DW_ATE_ASCII", 0x12],
|
519
|
+
["DW_ATE_lo_user", 0x80],
|
520
|
+
["DW_ATE_hi_user", 0xff],
|
521
|
+
]
|
522
|
+
},
|
523
|
+
{
|
524
|
+
"name": "Table 7.12: Decimal sign encodings",
|
525
|
+
"header": ["Decimal sign code name", "Value"],
|
526
|
+
"body": [
|
527
|
+
["DW_DS_unsigned", 0x01],
|
528
|
+
["DW_DS_leading_overpunch", 0x02],
|
529
|
+
["DW_DS_trailing_overpunch", 0x03],
|
530
|
+
["DW_DS_leading_separate", 0x04],
|
531
|
+
["DW_DS_trailing_separate", 0x05],
|
532
|
+
]
|
533
|
+
},
|
534
|
+
{
|
535
|
+
"name": "Table 7.13: Endianity encodings",
|
536
|
+
"header": ["Endian code name", "Value"],
|
537
|
+
"body": [
|
538
|
+
["DW_END_default", 0x00],
|
539
|
+
["DW_END_big", 0x01],
|
540
|
+
["DW_END_little", 0x02],
|
541
|
+
["DW_END_lo_user", 0x40],
|
542
|
+
["DW_END_hi_user", 0xff],
|
543
|
+
]
|
544
|
+
},
|
545
|
+
{
|
546
|
+
"name": "Table 7.14: Accessibility encodings",
|
547
|
+
"header": ["Accessibility code name", "Value"],
|
548
|
+
"body": [
|
549
|
+
["DW_ACCESS_public", 0x01],
|
550
|
+
["DW_ACCESS_protected", 0x02],
|
551
|
+
["DW_ACCESS_private", 0x03],
|
552
|
+
]
|
553
|
+
},
|
554
|
+
{
|
555
|
+
"name": "Table 7.15: Visibility encodings",
|
556
|
+
"header": ["Visibility code name", "Value"],
|
557
|
+
"body": [
|
558
|
+
["DW_VIS_local", 0x01],
|
559
|
+
["DW_VIS_exported", 0x02],
|
560
|
+
["DW_VIS_qualified", 0x03],
|
561
|
+
]
|
562
|
+
},
|
563
|
+
{
|
564
|
+
"name": "Table 7.16: Virtuality encodings",
|
565
|
+
"header": ["Virtuality code name", "Value"],
|
566
|
+
"body": [
|
567
|
+
["DW_VIRTUALITY_none", 0x00],
|
568
|
+
["DW_VIRTUALITY_virtual", 0x01],
|
569
|
+
["DW_VIRTUALITY_pure_virtual", 0x02],
|
570
|
+
]
|
571
|
+
},
|
572
|
+
{
|
573
|
+
"name": "Table 7.17: Language encodings",
|
574
|
+
"header": ["Language name", "Value", "Default Lower Bound"],
|
575
|
+
"body": [
|
576
|
+
["DW_LANG_C89", 0x0001, 0],
|
577
|
+
["DW_LANG_C", 0x0002, 0],
|
578
|
+
["DW_LANG_Ada83", 0x0003, 1],
|
579
|
+
["DW_LANG_C_plus_plus", 0x0004, 0],
|
580
|
+
["DW_LANG_Cobol74", 0x0005, 1],
|
581
|
+
["DW_LANG_Cobol85", 0x0006, 1],
|
582
|
+
["DW_LANG_Fortran77", 0x0007, 1],
|
583
|
+
["DW_LANG_Fortran90", 0x0008, 1],
|
584
|
+
["DW_LANG_Pascal83", 0x0009, 1],
|
585
|
+
["DW_LANG_Modula2", 0x000a, 1],
|
586
|
+
["DW_LANG_Java", 0x000b, 0],
|
587
|
+
["DW_LANG_C99", 0x000c, 0],
|
588
|
+
["DW_LANG_Ada95", 0x000d, 1],
|
589
|
+
["DW_LANG_Fortran95", 0x000e, 1],
|
590
|
+
["DW_LANG_PLI", 0x000f, 1],
|
591
|
+
["DW_LANG_ObjC", 0x0010, 0],
|
592
|
+
["DW_LANG_ObjC_plus_plus", 0x0011, 0],
|
593
|
+
["DW_LANG_UPC", 0x0012, 0],
|
594
|
+
["DW_LANG_D", 0x0013, 0],
|
595
|
+
["DW_LANG_Python", 0x0014, 0],
|
596
|
+
["DW_LANG_OpenCL", 0x0015, 0],
|
597
|
+
["DW_LANG_Go", 0x0016, 0],
|
598
|
+
["DW_LANG_Modula3", 0x0017, 1],
|
599
|
+
["DW_LANG_Haskell", 0x0018, 0],
|
600
|
+
["DW_LANG_C_plus_plus_03", 0x0019, 0],
|
601
|
+
["DW_LANG_C_plus_plus_11", 0x001a, 0],
|
602
|
+
["DW_LANG_OCaml", 0x001b, 0],
|
603
|
+
["DW_LANG_Rust", 0x001c, 0],
|
604
|
+
["DW_LANG_C11", 0x001d, 0],
|
605
|
+
["DW_LANG_Swift", 0x001e, 0],
|
606
|
+
["DW_LANG_Julia", 0x001f, 1],
|
607
|
+
["DW_LANG_Dylan", 0x0020, 0],
|
608
|
+
["DW_LANG_C_plus_plus_14", 0x0021, 0],
|
609
|
+
["DW_LANG_Fortran03", 0x0022, 1],
|
610
|
+
["DW_LANG_Fortran08", 0x0023, 1],
|
611
|
+
["DW_LANG_RenderScript", 0x0024, 0],
|
612
|
+
["DW_LANG_BLISS", 0x0025, 0],
|
613
|
+
["DW_LANG_lo_user", 0x8000, null],
|
614
|
+
["DW_LANG_hi_user", 0xffff, null],
|
615
|
+
]
|
616
|
+
},
|
617
|
+
{
|
618
|
+
"name": "Table 7.18: Identifier case encodings",
|
619
|
+
"header": ["Identifier case name", "Value"],
|
620
|
+
"body": [
|
621
|
+
["DW_ID_case_sensitive", 0x00],
|
622
|
+
["DW_ID_up_case", 0x01],
|
623
|
+
["DW_ID_down_case", 0x02],
|
624
|
+
["DW_ID_case_insensitive", 0x03],
|
625
|
+
]
|
626
|
+
},
|
627
|
+
{
|
628
|
+
"name": "Table 7.19: Calling convention encodings",
|
629
|
+
"header": ["Calling convention name", "Value"],
|
630
|
+
"body": [
|
631
|
+
["DW_CC_normal", 0x01],
|
632
|
+
["DW_CC_program", 0x02],
|
633
|
+
["DW_CC_nocall", 0x03],
|
634
|
+
["DW_CC_pass_by_reference", 0x04],
|
635
|
+
["DW_CC_pass_by_value", 0x05],
|
636
|
+
["DW_CC_lo_user", 0x40],
|
637
|
+
["DW_CC_hi_user", 0xff],
|
638
|
+
]
|
639
|
+
},
|
640
|
+
{
|
641
|
+
"name": "Table 7.20: Inline encodings",
|
642
|
+
"header": ["Inline code name", "Value"],
|
643
|
+
"body": [
|
644
|
+
["DW_INL_not_inlined", 0x00],
|
645
|
+
["DW_INL_inlined", 0x01],
|
646
|
+
["DW_INL_declared_not_inlined", 0x02],
|
647
|
+
["DW_INL_declared_inlined", 0x03],
|
648
|
+
]
|
649
|
+
},
|
650
|
+
{
|
651
|
+
"name": "Table 7.21: Ordering encodings",
|
652
|
+
"header": ["Ordering name", "Value"],
|
653
|
+
"body": [
|
654
|
+
["DW_ORD_row_major", 0x00],
|
655
|
+
["DW_ORD_col_major", 0x01],
|
656
|
+
]
|
657
|
+
},
|
658
|
+
{
|
659
|
+
"name": "Table 7.22: Discriminant descriptor encodings",
|
660
|
+
"header": ["Descriptor name", "Value"],
|
661
|
+
"body": [
|
662
|
+
["DW_DSC_label", 0x00],
|
663
|
+
["DW_DSC_range", 0x01],
|
664
|
+
]
|
665
|
+
},
|
666
|
+
{
|
667
|
+
"name": "Table 7.23: Name index attribute encodings",
|
668
|
+
"header": ["Attribute name", "Value", "Form/Class"],
|
669
|
+
"body": [
|
670
|
+
["DW_IDX_compile_unit", 1, "constant"],
|
671
|
+
["DW_IDX_type_unit", 2, "constant"],
|
672
|
+
["DW_IDX_die_offset", 3, "reference"],
|
673
|
+
["DW_IDX_parent", 4, "constant"],
|
674
|
+
["DW_IDX_type_hash", 5, "DW_FORM_data8"],
|
675
|
+
["DW_IDX_lo_user", 0x2000],
|
676
|
+
["DW_IDX_hi_user", 0x3fff],
|
677
|
+
]
|
678
|
+
},
|
679
|
+
{
|
680
|
+
"name": "Table 7.24: Defaulted attribute encodings",
|
681
|
+
"header": ["Defaulted name", "Value"],
|
682
|
+
"body": [
|
683
|
+
["DW_DEFAULTED_no", 0x00],
|
684
|
+
["DW_DEFAULTED_in_class", 0x01],
|
685
|
+
["DW_DEFAULTED_out_of_class", 0x02],
|
686
|
+
]
|
687
|
+
},
|
688
|
+
{
|
689
|
+
"name": "Table 7.25: Line number standard opcode encodings",
|
690
|
+
"header": ["Opcode name", "Value"],
|
691
|
+
"body": [
|
692
|
+
["DW_LNS_copy", 0x01],
|
693
|
+
["DW_LNS_advance_pc", 0x02],
|
694
|
+
["DW_LNS_advance_line", 0x03],
|
695
|
+
["DW_LNS_set_file", 0x04],
|
696
|
+
["DW_LNS_set_column", 0x05],
|
697
|
+
["DW_LNS_negate_stmt", 0x06],
|
698
|
+
["DW_LNS_set_basic_block", 0x07],
|
699
|
+
["DW_LNS_const_add_pc", 0x08],
|
700
|
+
["DW_LNS_fixed_advance_pc", 0x09],
|
701
|
+
["DW_LNS_set_prologue_end", 0x0a],
|
702
|
+
["DW_LNS_set_epilogue_begin", 0x0b],
|
703
|
+
["DW_LNS_set_isa", 0x0c],
|
704
|
+
]
|
705
|
+
},
|
706
|
+
{
|
707
|
+
"name": "Table 7.26: Line number extended opcode encodings",
|
708
|
+
"header": ["Opcode name", "Value"],
|
709
|
+
"body": [
|
710
|
+
["DW_LNE_end_sequence", 0x01],
|
711
|
+
["DW_LNE_set_address", 0x02],
|
712
|
+
["Reserved", 0x034],
|
713
|
+
["DW_LNE_set_discriminator", 0x04],
|
714
|
+
["DW_LNE_lo_user", 0x80],
|
715
|
+
["DW_LNE_hi_user", 0xff],
|
716
|
+
]
|
717
|
+
},
|
718
|
+
{
|
719
|
+
"name": "Table 7.27: Line number header entry format encodings",
|
720
|
+
"header": ["Line number header entry format name", "Value"],
|
721
|
+
"body": [
|
722
|
+
["DW_LNCT_path", 0x1],
|
723
|
+
["DW_LNCT_directory_index", 0x2],
|
724
|
+
["DW_LNCT_timestamp", 0x3],
|
725
|
+
["DW_LNCT_size", 0x4],
|
726
|
+
["DW_LNCT_MD5", 0x5],
|
727
|
+
["DW_LNCT_lo_user", 0x2000],
|
728
|
+
["DW_LNCT_hi_user", 0x3fff],
|
729
|
+
]
|
730
|
+
},
|
731
|
+
{
|
732
|
+
"name": "Table 7.28: Macro information entry type encodings",
|
733
|
+
"header": ["Macro information entry type name", "Value"],
|
734
|
+
"body": [
|
735
|
+
["DW_MACRO_define", 0x01],
|
736
|
+
["DW_MACRO_undef", 0x02],
|
737
|
+
["DW_MACRO_start_file", 0x03],
|
738
|
+
["DW_MACRO_end_file", 0x04],
|
739
|
+
["DW_MACRO_define_strp", 0x05],
|
740
|
+
["DW_MACRO_undef_strp", 0x06],
|
741
|
+
["DW_MACRO_import", 0x07],
|
742
|
+
["DW_MACRO_define_sup", 0x08],
|
743
|
+
["DW_MACRO_undef_sup", 0x09],
|
744
|
+
["DW_MACRO_import_sup", 0x0a],
|
745
|
+
["DW_MACRO_define_strx", 0x0b],
|
746
|
+
["DW_MACRO_undef_strx", 0x0c],
|
747
|
+
["DW_MACRO_lo_user", 0xe0],
|
748
|
+
["DW_MACRO_hi_user", 0xff],
|
749
|
+
]
|
750
|
+
},
|
751
|
+
{
|
752
|
+
"name": "Table 7.29: Call frame instruction encodings",
|
753
|
+
"header": ["Instruction", "High 2 Bits", "Low 6 Bits", "Operand 1", "Operand 2"],
|
754
|
+
"body": [
|
755
|
+
["DW_CFA_advance_loc", 0x1, "delta", null, null],
|
756
|
+
["DW_CFA_offset", 0x2, "register", "ULEB128 offset"],
|
757
|
+
["DW_CFA_restore", 0x3, "register", null, null],
|
758
|
+
["DW_CFA_nop", 0, 0, null, null],
|
759
|
+
["DW_CFA_set_loc", 0, 0x01, "address"],
|
760
|
+
["DW_CFA_advance_loc1", 0, 0x02, "1-byte delta"],
|
761
|
+
["DW_CFA_advance_loc2", 0, 0x03, "2-byte delta"],
|
762
|
+
["DW_CFA_advance_loc4", 0, 0x04, "4-byte delta"],
|
763
|
+
["DW_CFA_offset_extended", 0, 0x05, "ULEB128 register", "ULEB128 offset"],
|
764
|
+
["DW_CFA_restore_extended", 0, 0x06, "ULEB128 register"],
|
765
|
+
["DW_CFA_undefined", 0, 0x07, "ULEB128 register"],
|
766
|
+
["DW_CFA_same_value", 0, 0x08, "ULEB128 register"],
|
767
|
+
["DW_CFA_register", 0, 0x09, "ULEB128 register", "ULEB128 offset"],
|
768
|
+
["DW_CFA_remember_state", 0, 0x0a, null, null],
|
769
|
+
["DW_CFA_restore_state", 0, 0x0b, null, null],
|
770
|
+
["DW_CFA_def_cfa", 0, 0x0c, "ULEB128 register", "ULEB128 offset"],
|
771
|
+
["DW_CFA_def_cfa_register", 0, 0x0d, "ULEB128 register"],
|
772
|
+
["DW_CFA_def_cfa_offset", 0, 0x0e, "ULEB128 offset"],
|
773
|
+
["DW_CFA_def_cfa_expression", 0, 0x0f, "BLOCK"],
|
774
|
+
["DW_CFA_expression", 0, 0x10, "ULEB128 register", "BLOCK"],
|
775
|
+
["DW_CFA_offset_extended_sf", 0, 0x11, "ULEB128 register", "SLEB128 offset"],
|
776
|
+
["DW_CFA_def_cfa_sf", 0, 0x12, "ULEB128 register", "SLEB128 offset"],
|
777
|
+
["DW_CFA_def_cfa_offset_sf", 0, 0x13, "SLEB128 offset"],
|
778
|
+
["DW_CFA_val_offset", 0, 0x14, "ULEB128", "ULEB128"],
|
779
|
+
["DW_CFA_val_offset_sf", 0, 0x15, "ULEB128", "SLEB128"],
|
780
|
+
["DW_CFA_val_expression", 0, 0x16, "ULEB128", "BLOCK"],
|
781
|
+
["DW_CFA_lo_user", 0, 0x1c, null, null],
|
782
|
+
["DW_CFA_hi_user", 0, 0x3f, null, null],
|
783
|
+
]
|
784
|
+
},
|
785
|
+
{
|
786
|
+
"name": "Table 7.30: Range list entry encoding values",
|
787
|
+
"header": ["Range list entry encoding name", "Value"],
|
788
|
+
"body": [
|
789
|
+
["DW_RLE_end_of_list", 0x00],
|
790
|
+
["DW_RLE_base_addressx", 0x01],
|
791
|
+
["DW_RLE_startx_endx", 0x02],
|
792
|
+
["DW_RLE_startx_length", 0x03],
|
793
|
+
["DW_RLE_offset_pair", 0x04],
|
794
|
+
["DW_RLE_base_address", 0x05],
|
795
|
+
["DW_RLE_start_end", 0x06],
|
796
|
+
["DW_RLE_start_length", 0x07],
|
797
|
+
]
|
798
|
+
},
|
799
|
+
]
|