Module: WORF::Constants
- Defined in:
- lib/worf.rb,
lib/worf/constants.rb
Constant Summary collapse
- TAG_TO_NAME =
constants.grep(/TAG/).each_with_object([]) { |c, o| v = const_get(c) if v < DW_TAG_low_user o[const_get(c)] = c end }
- DW_UT_compile =
Table 7.2 Unit Header Types Unit header unit type encodings | Value
0x01
- DW_UT_type =
0x02
- DW_UT_partial =
0x03
- DW_UT_skeleton =
0x04
- DW_UT_split_compile =
0x05
- DW_UT_split_type =
0x06
- DW_UT_lo_user =
0x80
- DW_UT_hi_user =
0xff
- DW_TAG_array_type =
Table 7.3: Tag encodings Tag name | Value
0x01
- DW_TAG_class_type =
0x02
- DW_TAG_entry_point =
0x03
- DW_TAG_enumeration_type =
0x04
- DW_TAG_formal_parameter =
0x05
- DW_TAG_imported_declaration =
Reserved = 0x06 Reserved = 0x07
0x08
- DW_TAG_label =
Reserved = 0x09
0x0a
- DW_TAG_lexical_block =
0x0b
- DW_TAG_member =
Reserved = 0x0c
0x0d
- DW_TAG_pointer_type =
Reserved = 0x0e
0x0f
- DW_TAG_reference_type =
0x10
- DW_TAG_compile_unit =
0x11
- DW_TAG_string_type =
0x12
- DW_TAG_structure_type =
0x13
- DW_TAG_subroutine_type =
Reserved = 0x14
0x15
- DW_TAG_typedef =
0x16
- DW_TAG_union_type =
0x17
- DW_TAG_unspecified_parameters =
0x18
- DW_TAG_variant =
0x19
- DW_TAG_common_block =
0x1a
- DW_TAG_common_inclusion =
0x1b
- DW_TAG_inheritance =
0x1c
- DW_TAG_inlined_subroutine =
0x1d
- DW_TAG_module =
0x1e
- DW_TAG_ptr_to_member_type =
0x1f
- DW_TAG_set_type =
0x20
- DW_TAG_subrange_type =
0x21
- DW_TAG_with_stmt =
0x22
- DW_TAG_access_declaration =
0x23
- DW_TAG_base_type =
0x24
- DW_TAG_catch_block =
0x25
- DW_TAG_const_type =
0x26
- DW_TAG_constant =
0x27
- DW_TAG_enumerator =
0x28
- DW_TAG_file_type =
0x29
- DW_TAG_friend =
0x2a
- DW_TAG_namelist =
0x2b
- DW_TAG_namelist_item =
0x2c
- DW_TAG_packed_type =
0x2d
- DW_TAG_subprogram =
0x2e
- DW_TAG_template_type_parameter =
0x2f
- DW_TAG_template_value_parameter =
0x30
- DW_TAG_thrown_type =
0x31
- DW_TAG_try_block =
0x32
- DW_TAG_variant_part =
0x33
- DW_TAG_variable =
0x34
- DW_TAG_volatile_type =
0x35
- DW_TAG_dwarf_procedure =
0x36
- DW_TAG_restrict_type =
0x37
- DW_TAG_interface_type =
0x38
- DW_TAG_namespace =
0x39
- DW_TAG_imported_module =
0x3a
- DW_TAG_unspecified_type =
0x3b
- DW_TAG_partial_unit =
0x3c
- DW_TAG_imported_unit =
0x3d
- DW_TAG_condition =
Reserved = 0x3e1
0x3f
0x40
- DW_TAG_type_unit =
0x41
- DW_TAG_rvalue_reference_type =
0x42
- DW_TAG_template_alias =
0x43
- DW_TAG_coarray_type =
0x44
- DW_TAG_generic_subrange =
0x45
- DW_TAG_dynamic_type =
0x46
- DW_TAG_atomic_type =
0x47
- DW_TAG_call_site =
0x48
- DW_TAG_call_site_parameter =
0x49
- DW_TAG_skeleton_unit =
0x4a
- DW_TAG_immutable_type =
0x4b
- DW_TAG_low_user =
0x4080
- DW_TAG_hi_user =
0xffff
- DW_CHILDREN_no =
Table 7.4: Child determination encodings Children determination name | Value
0x00
- DW_CHILDREN_yes =
0x01
- DW_AT_sibling =
Table 7.5: Attribute encodings Attribute name | Value | Classes
0x01
- DW_AT_location =
reference
0x02
- DW_AT_name =
exprloc, loclist
0x03
- DW_AT_ordering =
Reserved = 0x04 # not applicable Reserved = 0x05 # not applicable Reserved = 0x06 # not applicable Reserved = 0x07 # not applicable Reserved = 0x08 # not applicable
0x09
- DW_AT_byte_size =
Reserved = 0x0a # not applicable
0x0b
- DW_AT_bit_size =
Reserved = 0x0c # constant, exprloc, reference
0x0d
- DW_AT_stmt_list =
Reserved = 0x0e # not applicable Reserved = 0x0f # not applicable
0x10
- DW_AT_low_pc =
lineptr
0x11
- DW_AT_high_pc =
address
0x12
- DW_AT_language =
address, constant
0x13
- DW_AT_discr =
Reserved = 0x14 # not applicable
0x15
- DW_AT_discr_value =
reference
0x16
- DW_AT_visibility =
constant
0x17
- DW_AT_import =
constant
0x18
- DW_AT_string_length =
reference
0x19
- DW_AT_common_reference =
exprloc, loclist, reference
0x1a
- DW_AT_comp_dir =
reference
0x1b
- DW_AT_const_value =
string
0x1c
- DW_AT_containing_type =
block, constant, string
0x1d
- DW_AT_default_value =
reference
0x1e
- DW_AT_inline =
Reserved = 0x1f # not applicable
0x20
- DW_AT_is_optional =
constant
0x21
- DW_AT_lower_bound =
flag
0x22
- DW_AT_producer =
Reserved = 0x23 # not applicable Reserved = 0x24 # not applicable
0x25
- DW_AT_prototyped =
Reserved = 0x26 # not applicable
0x27
- DW_AT_return_addr =
Reserved = 0x28 # not applicable Reserved = 0x29 # not applicable
0x2a
- DW_AT_start_scope =
Reserved = 0x2b # not applicable
0x2c
- DW_AT_bit_stride =
Reserved = 0x2d # not applicable
0x2e
- DW_AT_upper_bound =
constant, exprloc, reference
0x2f
- DW_AT_abstract_origin =
Reserved = 0x30 # not applicable
0x31
- DW_AT_accessibility =
reference
0x32
- DW_AT_address_class =
constant
0x33
- DW_AT_artificial =
constant
0x34
- DW_AT_base_types =
flag
0x35
- DW_AT_calling_convention =
reference
0x36
- DW_AT_count =
constant
0x37
- DW_AT_data_member_location =
constant, exprloc, reference
0x38
- DW_AT_decl_column =
constant, exprloc, loclist
0x39
- DW_AT_decl_file =
constant
0x3a
- DW_AT_decl_line =
constant
0x3b
- DW_AT_declaration =
constant
0x3c
- DW_AT_discr_list =
flag
0x3d
- DW_AT_encoding =
block
0x3e
- DW_AT_external =
constant
0x3f
- DW_AT_frame_base =
flag
0x40
- DW_AT_friend =
exprloc, loclist
0x41
- DW_AT_identifier_case =
reference
0x42
- DW_AT_namelist_item =
Reserved = 0x433 # macptr
0x44
- DW_AT_priority =
reference
0x45
- DW_AT_segment =
reference
0x46
- DW_AT_specification =
exprloc, loclist
0x47
- DW_AT_static_link =
reference
0x48
- DW_AT_type =
exprloc, loclist
0x49
- DW_AT_use_location =
reference
0x4a
- DW_AT_variable_parameter =
exprloc, loclist
0x4b
- DW_AT_virtuality =
flag
0x4c
- DW_AT_vtable_elem_location =
constant
0x4d
- DW_AT_allocated =
exprloc, loclist
0x4e
- DW_AT_associated =
constant, exprloc, reference
0x4f
- DW_AT_data_location =
constant, exprloc, reference
0x50
- DW_AT_byte_stride =
exprloc
0x51
- DW_AT_entry_pc =
constant, exprloc, reference
0x52
- DW_AT_use_UTF8 =
address, constant
0x53
- DW_AT_extension =
flag
0x54
- DW_AT_ranges =
reference
0x55
- DW_AT_trampoline =
rnglist
0x56
- DW_AT_call_column =
address, flag, reference, string
0x57
- DW_AT_call_file =
constant
0x58
- DW_AT_call_line =
constant
0x59
- DW_AT_description =
constant
0x5a
- DW_AT_binary_scale =
string
0x5b
- DW_AT_decimal_scale =
constant
0x5c
- DW_AT_small =
constant
0x5d
- DW_AT_decimal_sign =
reference
0x5e
- DW_AT_digit_count =
constant
0x5f
- DW_AT_picture_string =
constant
0x60
- DW_AT_mutable =
string
0x61
- DW_AT_threads_scaled =
flag
0x62
- DW_AT_explicit =
flag
0x63
- DW_AT_object_pointer =
flag
0x64
- DW_AT_endianity =
reference
0x65
- DW_AT_elemental =
constant
0x66
- DW_AT_pure =
flag
0x67
- DW_AT_recursive =
flag
0x68
- DW_AT_signature =
flag
0x69
- DW_AT_main_subprogram =
reference
0x6a
- DW_AT_data_bit_offset =
flag
0x6b
- DW_AT_const_expr =
constant
0x6c
- DW_AT_enum_class =
flag
0x6d
- DW_AT_linkage_name =
flag
0x6e
- DW_AT_string_length_bit_size =
string
0x6f
- DW_AT_string_length_byte_size =
constant
0x70
- DW_AT_rank =
constant
0x71
- DW_AT_str_offsets_base =
constant, exprloc
0x72
- DW_AT_addr_base =
stroffsetsptr
0x73
- DW_AT_rnglists_base =
addrptr
0x74
- DW_AT_dwo_name =
Reserved = 0x75 # Unused
0x76
- DW_AT_reference =
string
0x77
- DW_AT_rvalue_reference =
flag
0x78
- DW_AT_macros =
flag
0x79
- DW_AT_call_all_calls =
macptr
0x7a
- DW_AT_call_all_source_calls =
flag
0x7b
- DW_AT_call_all_tail_calls =
flag
0x7c
- DW_AT_call_return_pc =
flag
0x7d
- DW_AT_call_value =
address
0x7e
- DW_AT_call_origin =
exprloc
0x7f
- DW_AT_call_parameter =
exprloc
0x80
- DW_AT_call_pc =
reference
0x81
- DW_AT_call_tail_call =
address
0x82
- DW_AT_call_target =
flag
0x83
- DW_AT_call_target_clobbered =
exprloc
0x84
- DW_AT_call_data_location =
exprloc
0x85
- DW_AT_call_data_value =
exprloc
0x86
- DW_AT_noreturn =
exprloc
0x87
- DW_AT_alignment =
flag
0x88
- DW_AT_export_symbols =
constant
0x89
- DW_AT_deleted =
flag
0x8a
- DW_AT_defaulted =
flag
0x8b
- DW_AT_loclists_base =
constant
0x8c
- DW_AT_lo_user =
loclistsptr
0x2000
- DW_AT_hi_user =
0x3fff
- DW_FORM_addr =
Table 7.6: Attribute form encodings Form name | Value | Classes
0x01
- DW_FORM_block2 =
Reserved = 0x02
0x03
- DW_FORM_block4 =
block
0x04
- DW_FORM_data2 =
block
0x05
- DW_FORM_data4 =
constant
0x06
- DW_FORM_data8 =
constant
0x07
- DW_FORM_string =
constant
0x08
- DW_FORM_block =
string
0x09
- DW_FORM_block1 =
block
0x0a
- DW_FORM_data1 =
block
0x0b
- DW_FORM_flag =
constant
0x0c
- DW_FORM_sdata =
flag
0x0d
- DW_FORM_strp =
constant
0x0e
- DW_FORM_udata =
string
0x0f
- DW_FORM_ref_addr =
constant
0x10
- DW_FORM_ref1 =
reference
0x11
- DW_FORM_ref2 =
reference
0x12
- DW_FORM_ref4 =
reference
0x13
- DW_FORM_ref8 =
reference
0x14
- DW_FORM_ref_udata =
reference
0x15
- DW_FORM_indirect =
reference
0x16
- DW_FORM_sec_offset =
(see Section 7.5.3 on page 203)
0x17
- DW_FORM_exprloc =
addrptr, lineptr, loclist, loclistsptr, macptr, rnglist, rnglistsptr, stroffsetsptr
0x18
- DW_FORM_flag_present =
exprloc
0x19
- DW_FORM_strx =
flag
0x1a
- DW_FORM_addrx =
string
0x1b
- DW_FORM_ref_sup4 =
address
0x1c
- DW_FORM_strp_sup =
reference
0x1d
- DW_FORM_data16 =
string
0x1e
- DW_FORM_line_strp =
constant
0x1f
- DW_FORM_ref_sig8 =
string
0x20
- DW_FORM_implicit_const =
reference
0x21
- DW_FORM_loclistx =
constant
0x22
- DW_FORM_rnglistx =
loclist
0x23
- DW_FORM_ref_sup8 =
rnglist
0x24
- DW_FORM_strx1 =
reference
0x25
- DW_FORM_strx2 =
string
0x26
- DW_FORM_strx3 =
string
0x27
- DW_FORM_strx4 =
string
0x28
- DW_FORM_addrx1 =
string
0x29
- DW_FORM_addrx2 =
address
0x2a
- DW_FORM_addrx3 =
address
0x2b
- DW_FORM_addrx4 =
address
0x2c
- DW_OP_addr =
Table 7.9: DWARF operation encodings Operation | Code | No. of Operands | Notes Reserved = 0x01 Reserved = 0x02
0x03
- DW_OP_deref =
Reserved = 0x04 Reserved = 0x05
0x06
- DW_OP_const1u =
Reserved = 0x07
0x08
- DW_OP_const1s =
1 | 1-byte constant
0x09
- DW_OP_const2u =
1 | 1-byte constant
0x0a
- DW_OP_const2s =
1 | 2-byte constant
0x0b
- DW_OP_const4u =
1 | 2-byte constant
0x0c
- DW_OP_const4s =
1 | 4-byte constant
0x0d
- DW_OP_const8u =
1 | 4-byte constant
0x0e
- DW_OP_const8s =
1 | 8-byte constant
0x0f
- DW_OP_constu =
1 | 8-byte constant
0x10
- DW_OP_consts =
1 | ULEB128 constant
0x11
- DW_OP_dup =
1 | SLEB128 constant
0x12
- DW_OP_drop =
0
0x13
- DW_OP_over =
0
0x14
- DW_OP_pick =
0
0x15
- DW_OP_swap =
1 | 1-byte stack index
0x16
- DW_OP_rot =
0
0x17
- DW_OP_xderef =
0
0x18
- DW_OP_abs =
0
0x19
- DW_OP_and =
0
0x1a
- DW_OP_div =
0
0x1b
- DW_OP_minus =
0
0x1c
- DW_OP_mod =
0
0x1d
- DW_OP_mul =
0
0x1e
- DW_OP_neg =
0
0x1f
- DW_OP_not =
0
0x20
- DW_OP_or =
0
0x21
- DW_OP_plus =
0
0x22
- DW_OP_plus_uconst =
0
0x23
- DW_OP_shl =
1 | ULEB128 addend
0x24
- DW_OP_shr =
0
0x25
- DW_OP_shra =
0
0x26
- DW_OP_xor =
0
0x27
- DW_OP_bra =
0
0x28
- DW_OP_eq =
1 | signed 2-byte constant
0x29
- DW_OP_ge =
0
0x2a
- DW_OP_gt =
0
0x2b
- DW_OP_le =
0
0x2c
- DW_OP_lt =
0
0x2d
- DW_OP_ne =
0
0x2e
- DW_OP_skip =
0
0x2f
- DW_OP_lit0 =
1 | signed 2-byte constant
0x30
- DW_OP_lit1 =
0 | literal 0
0x31
- DW_OP_lit2 =
0 | literal 1
0x32
- DW_OP_lit3 =
0 | literal 2
0x33
- DW_OP_lit4 =
0 | literal 3
0x34
- DW_OP_lit5 =
0 | literal 4
0x35
- DW_OP_lit6 =
0 | literal 5
0x36
- DW_OP_lit7 =
0 | literal 6
0x37
- DW_OP_lit8 =
0 | literal 7
0x38
- DW_OP_lit9 =
0 | literal 8
0x39
- DW_OP_lit10 =
0 | literal 9
0x3a
- DW_OP_lit11 =
0 | literal 10
0x3b
- DW_OP_lit12 =
0 | literal 11
0x3c
- DW_OP_lit13 =
0 | literal 12
0x3d
- DW_OP_lit14 =
0 | literal 13
0x3e
- DW_OP_lit15 =
0 | literal 14
0x3f
- DW_OP_lit16 =
0 | literal 15
0x40
- DW_OP_lit17 =
0 | literal 16
0x41
- DW_OP_lit18 =
0 | literal 17
0x42
- DW_OP_lit19 =
0 | literal 18
0x43
- DW_OP_lit20 =
0 | literal 19
0x44
- DW_OP_lit21 =
0 | literal 20
0x45
- DW_OP_lit22 =
0 | literal 21
0x46
- DW_OP_lit23 =
0 | literal 22
0x47
- DW_OP_lit24 =
0 | literal 23
0x48
- DW_OP_lit25 =
0 | literal 24
0x49
- DW_OP_lit26 =
0 | literal 25
0x4a
- DW_OP_lit27 =
0 | literal 26
0x4b
- DW_OP_lit28 =
0 | literal 27
0x4c
- DW_OP_lit29 =
0 | literal 28
0x4d
- DW_OP_lit30 =
0 | literal 29
0x4e
- DW_OP_lit31 =
0 | literal 30
0x4f
- DW_OP_reg0 =
0 | literal 31
0x50
- DW_OP_reg1 =
0 | reg 0
0x51
- DW_OP_reg2 =
0 | reg 1
0x52
- DW_OP_reg3 =
0 | reg 2
0x53
- DW_OP_reg4 =
0 | reg 3
0x54
- DW_OP_reg5 =
0 | reg 4
0x55
- DW_OP_reg6 =
0 | reg 5
0x56
- DW_OP_reg7 =
0 | reg 6
0x57
- DW_OP_reg8 =
0 | reg 7
0x58
- DW_OP_reg9 =
0 | reg 8
0x59
- DW_OP_reg10 =
0 | reg 9
0x5a
- DW_OP_reg11 =
0 | reg 10
0x5b
- DW_OP_reg12 =
0 | reg 11
0x5c
- DW_OP_reg13 =
0 | reg 12
0x5d
- DW_OP_reg14 =
0 | reg 13
0x5e
- DW_OP_reg15 =
0 | reg 14
0x5f
- DW_OP_reg16 =
0 | reg 15
0x60
- DW_OP_reg17 =
0 | reg 16
0x61
- DW_OP_reg18 =
0 | reg 17
0x62
- DW_OP_reg19 =
0 | reg 18
0x63
- DW_OP_reg20 =
0 | reg 19
0x64
- DW_OP_reg21 =
0 | reg 20
0x65
- DW_OP_reg22 =
0 | reg 21
0x66
- DW_OP_reg23 =
0 | reg 22
0x67
- DW_OP_reg24 =
0 | reg 23
0x68
- DW_OP_reg25 =
0 | reg 24
0x69
- DW_OP_reg26 =
0 | reg 25
0x6a
- DW_OP_reg27 =
0 | reg 26
0x6b
- DW_OP_reg28 =
0 | reg 27
0x6c
- DW_OP_reg29 =
0 | reg 28
0x6d
- DW_OP_reg30 =
0 | reg 29
0x6e
- DW_OP_reg31 =
0 | reg 30
0x6f
- DW_OP_breg0 =
0 | reg 31
0x70
- DW_OP_breg1 =
1 | base register 0 SLEB128 offset
0x71
- DW_OP_breg2 =
1 | base register 1 SLEB128 offset
0x72
- DW_OP_breg3 =
1 | base register 2 SLEB128 offset
0x73
- DW_OP_breg4 =
1 | base register 3 SLEB128 offset
0x74
- DW_OP_breg5 =
1 | base register 4 SLEB128 offset
0x75
- DW_OP_breg6 =
1 | base register 5 SLEB128 offset
0x76
- DW_OP_breg7 =
1 | base register 6 SLEB128 offset
0x77
- DW_OP_breg8 =
1 | base register 7 SLEB128 offset
0x78
- DW_OP_breg9 =
1 | base register 8 SLEB128 offset
0x79
- DW_OP_breg10 =
1 | base register 9 SLEB128 offset
0x7a
- DW_OP_breg11 =
1 | base register 10 SLEB128 offset
0x7b
- DW_OP_breg12 =
1 | base register 11 SLEB128 offset
0x7c
- DW_OP_breg13 =
1 | base register 12 SLEB128 offset
0x7d
- DW_OP_breg14 =
1 | base register 13 SLEB128 offset
0x7e
- DW_OP_breg15 =
1 | base register 14 SLEB128 offset
0x7f
- DW_OP_breg16 =
1 | base register 15 SLEB128 offset
0x80
- DW_OP_breg17 =
1 | base register 16 SLEB128 offset
0x81
- DW_OP_breg18 =
1 | base register 17 SLEB128 offset
0x82
- DW_OP_breg19 =
1 | base register 18 SLEB128 offset
0x83
- DW_OP_breg20 =
1 | base register 19 SLEB128 offset
0x84
- DW_OP_breg21 =
1 | base register 20 SLEB128 offset
0x85
- DW_OP_breg22 =
1 | base register 21 SLEB128 offset
0x86
- DW_OP_breg23 =
1 | base register 22 SLEB128 offset
0x87
- DW_OP_breg24 =
1 | base register 23 SLEB128 offset
0x88
- DW_OP_breg25 =
1 | base register 24 SLEB128 offset
0x89
- DW_OP_breg26 =
1 | base register 25 SLEB128 offset
0x8a
- DW_OP_breg27 =
1 | base register 26 SLEB128 offset
0x8b
- DW_OP_breg28 =
1 | base register 27 SLEB128 offset
0x8c
- DW_OP_breg29 =
1 | base register 28 SLEB128 offset
0x8d
- DW_OP_breg30 =
1 | base register 29 SLEB128 offset
0x8e
- DW_OP_breg31 =
1 | base register 30 SLEB128 offset
0x8f
- DW_OP_regx =
1 | base register 31 SLEB128 offset
0x90
- DW_OP_fbreg =
1 | ULEB128 register
0x91
- DW_OP_bregx =
1 | SLEB128 offset
0x92
- DW_OP_piece =
2 | ULEB128 register, SLEB128 offset
0x93
- DW_OP_deref_size =
1 | ULEB128 size of piece
0x94
- DW_OP_xderef_size =
1 | 1-byte size of data retrieved
0x95
- DW_OP_nop =
1 | 1-byte size of data retrieved
0x96
- DW_OP_push_object_address =
0
0x97
- DW_OP_call2 =
0
0x98
- DW_OP_call4 =
1 | 2-byte offset of DIE
0x99
- DW_OP_call_ref =
1 | 4-byte offset of DIE
0x9a
- DW_OP_form_tls_address =
1 | 4- or 8-byte offset of DIE
0x9b
- DW_OP_call_frame_cfa =
0
0x9c
- DW_OP_bit_piece =
0
0x9d
- DW_OP_implicit_value =
2 | ULEB128 size, ULEB128 offset
0x9e
- DW_OP_stack_value =
2 | ULEB128 size, block of that size
0x9f
- DW_OP_implicit_pointer =
0
0xa0
- DW_OP_addrx =
2 | 4- or 8-byte offset of DIE, SLEB128 constant offset
0xa1
- DW_OP_constx =
1 | ULEB128 indirect address
0xa2
- DW_OP_entry_value =
1 | ULEB128 indirect constant
0xa3
- DW_OP_const_type =
2 | ULEB128 size, block of that size
0xa4
- DW_OP_regval_type =
3 | ULEB128 type entry offset, 1-byte size, constant value
0xa5
- DW_OP_deref_type =
2 | ULEB128 register number, ULEB128 constant offset
0xa6
- DW_OP_xderef_type =
2 | 1-byte size, ULEB128 type entry offset
0xa7
- DW_OP_convert =
2 | 1-byte size, ULEB128 type entry offset
0xa8
- DW_OP_reinterpret =
1 | ULEB128 type entry offset
0xa9
- DW_OP_lo_user =
1 | ULEB128 type entry offset
0xe0
- DW_OP_hi_user =
0xff
- DW_LLE_end_of_list =
Table 7.10: Location list entry encoding values Location list entry encoding name | Value
0x00
- DW_LLE_base_addressx =
0x01
- DW_LLE_startx_endx =
0x02
- DW_LLE_startx_length =
0x03
- DW_LLE_offset_pair =
0x04
- DW_LLE_default_location =
0x05
- DW_LLE_base_address =
0x06
- DW_LLE_start_end =
0x07
- DW_LLE_start_length =
0x08
- DW_ATE_address =
Table 7.11: Base type encoding values Base type encoding name | Value
0x01
- DW_ATE_boolean =
0x02
- DW_ATE_complex_float =
0x03
- DW_ATE_float =
0x04
- DW_ATE_signed =
0x05
- DW_ATE_signed_char =
0x06
- DW_ATE_unsigned =
0x07
- DW_ATE_unsigned_char =
0x08
- DW_ATE_imaginary_float =
0x09
- DW_ATE_packed_decimal =
0x0a
- DW_ATE_numeric_string =
0x0b
- DW_ATE_edited =
0x0c
- DW_ATE_signed_fixed =
0x0d
- DW_ATE_unsigned_fixed =
0x0e
- DW_ATE_decimal_float =
0x0f
- DW_ATE_UTF =
0x10
- DW_ATE_UCS =
0x11
- DW_ATE_ASCII =
0x12
- DW_ATE_lo_user =
0x80
- DW_ATE_hi_user =
0xff
- DW_DS_unsigned =
Table 7.12: Decimal sign encodings Decimal sign code name | Value
0x01
- DW_DS_leading_overpunch =
0x02
- DW_DS_trailing_overpunch =
0x03
- DW_DS_leading_separate =
0x04
- DW_DS_trailing_separate =
0x05
- DW_END_default =
Table 7.13: Endianity encodings Endian code name | Value
0x00
- DW_END_big =
0x01
- DW_END_little =
0x02
- DW_END_lo_user =
0x40
- DW_END_hi_user =
0xff
- DW_ACCESS_public =
Table 7.14: Accessibility encodings Accessibility code name | Value
0x01
- DW_ACCESS_protected =
0x02
- DW_ACCESS_private =
0x03
- DW_VIS_local =
Table 7.15: Visibility encodings Visibility code name | Value
0x01
- DW_VIS_exported =
0x02
- DW_VIS_qualified =
0x03
- DW_VIRTUALITY_none =
Table 7.16: Virtuality encodings Virtuality code name | Value
0x00
- DW_VIRTUALITY_virtual =
0x01
- DW_VIRTUALITY_pure_virtual =
0x02
- DW_LANG_C89 =
Table 7.17: Language encodings Language name | Value | Default Lower Bound
0x01
- DW_LANG_C =
0
0x02
- DW_LANG_Ada83 =
0
0x03
- DW_LANG_C_plus_plus =
1
0x04
- DW_LANG_Cobol74 =
0
0x05
- DW_LANG_Cobol85 =
1
0x06
- DW_LANG_Fortran77 =
1
0x07
- DW_LANG_Fortran90 =
1
0x08
- DW_LANG_Pascal83 =
1
0x09
- DW_LANG_Modula2 =
1
0x0a
- DW_LANG_Java =
1
0x0b
- DW_LANG_C99 =
0
0x0c
- DW_LANG_Ada95 =
0
0x0d
- DW_LANG_Fortran95 =
1
0x0e
- DW_LANG_PLI =
1
0x0f
- DW_LANG_ObjC =
1
0x10
- DW_LANG_ObjC_plus_plus =
0
0x11
- DW_LANG_UPC =
0
0x12
- DW_LANG_D =
0
0x13
- DW_LANG_Python =
0
0x14
- DW_LANG_OpenCL =
0
0x15
- DW_LANG_Go =
0
0x16
- DW_LANG_Modula3 =
0
0x17
- DW_LANG_Haskell =
1
0x18
- DW_LANG_C_plus_plus_03 =
0
0x19
- DW_LANG_C_plus_plus_11 =
0
0x1a
- DW_LANG_OCaml =
0
0x1b
- DW_LANG_Rust =
0
0x1c
- DW_LANG_C11 =
0
0x1d
- DW_LANG_Swift =
0
0x1e
- DW_LANG_Julia =
0
0x1f
- DW_LANG_Dylan =
1
0x20
- DW_LANG_C_plus_plus_14 =
0
0x21
- DW_LANG_Fortran03 =
0
0x22
- DW_LANG_Fortran08 =
1
0x23
- DW_LANG_RenderScript =
1
0x24
- DW_LANG_BLISS =
0
0x25
- DW_LANG_lo_user =
0
0x8000
- DW_LANG_hi_user =
0xffff
- DW_ID_case_sensitive =
Table 7.18: Identifier case encodings Identifier case name | Value
0x00
- DW_ID_up_case =
0x01
- DW_ID_down_case =
0x02
- DW_ID_case_insensitive =
0x03
- DW_CC_normal =
Table 7.19: Calling convention encodings Calling convention name | Value
0x01
- DW_CC_program =
0x02
- DW_CC_nocall =
0x03
- DW_CC_pass_by_reference =
0x04
- DW_CC_pass_by_value =
0x05
- DW_CC_lo_user =
0x40
- DW_CC_hi_user =
0xff
- DW_INL_not_inlined =
Table 7.20: Inline encodings Inline code name | Value
0x00
- DW_INL_inlined =
0x01
- DW_INL_declared_not_inlined =
0x02
- DW_INL_declared_inlined =
0x03
- DW_ORD_row_major =
Table 7.21: Ordering encodings Ordering name | Value
0x00
- DW_ORD_col_major =
0x01
- DW_DSC_label =
Table 7.22: Discriminant descriptor encodings Descriptor name | Value
0x00
- DW_DSC_range =
0x01
- DW_IDX_compile_unit =
Table 7.23: Name index attribute encodings Attribute name | Value | Form/Class
0x01
- DW_IDX_type_unit =
constant
0x02
- DW_IDX_die_offset =
constant
0x03
- DW_IDX_parent =
reference
0x04
- DW_IDX_type_hash =
constant
0x05
- DW_IDX_lo_user =
DW_FORM_data8
0x2000
- DW_IDX_hi_user =
0x3fff
- DW_DEFAULTED_no =
Table 7.24: Defaulted attribute encodings Defaulted name | Value
0x00
- DW_DEFAULTED_in_class =
0x01
- DW_DEFAULTED_out_of_class =
0x02
- DW_LNS_copy =
Table 7.25: Line number standard opcode encodings Opcode name | Value
0x01
- DW_LNS_advance_pc =
0x02
- DW_LNS_advance_line =
0x03
- DW_LNS_set_file =
0x04
- DW_LNS_set_column =
0x05
- DW_LNS_negate_stmt =
0x06
- DW_LNS_set_basic_block =
0x07
- DW_LNS_const_add_pc =
0x08
- DW_LNS_fixed_advance_pc =
0x09
- DW_LNS_set_prologue_end =
0x0a
- DW_LNS_set_epilogue_begin =
0x0b
- DW_LNS_set_isa =
0x0c
- DW_LNE_end_sequence =
Table 7.26: Line number extended opcode encodings Opcode name | Value
0x01
- DW_LNE_set_address =
0x02
- DW_LNE_set_discriminator =
Reserved = 0x34
0x04
- DW_LNE_lo_user =
0x80
- DW_LNE_hi_user =
0xff
- DW_LNCT_path =
Table 7.27: Line number header entry format encodings Line number header entry format name | Value
0x01
- DW_LNCT_directory_index =
0x02
- DW_LNCT_timestamp =
0x03
- DW_LNCT_size =
0x04
- DW_LNCT_MD5 =
0x05
- DW_LNCT_lo_user =
0x2000
- DW_LNCT_hi_user =
0x3fff
- DW_MACRO_define =
Table 7.28: Macro information entry type encodings Macro information entry type name | Value
0x01
- DW_MACRO_undef =
0x02
- DW_MACRO_start_file =
0x03
- DW_MACRO_end_file =
0x04
- DW_MACRO_define_strp =
0x05
- DW_MACRO_undef_strp =
0x06
- DW_MACRO_import =
0x07
- DW_MACRO_define_sup =
0x08
- DW_MACRO_undef_sup =
0x09
- DW_MACRO_import_sup =
0x0a
- DW_MACRO_define_strx =
0x0b
- DW_MACRO_undef_strx =
0x0c
- DW_MACRO_lo_user =
0xe0
- DW_MACRO_hi_user =
0xff
- DW_CFA_advance_loc =
Table 7.29: Call frame instruction encodings Instruction | High 2 Bits | Low 6 Bits | Operand 1 | Operand 2
0x01
- DW_CFA_offset =
delta | |
0x02
- DW_CFA_restore =
register | ULEB128 offset
0x03
- DW_CFA_nop =
register | |
0x00
- DW_CFA_set_loc =
0 | |
0x00
- DW_CFA_advance_loc1 =
1 | address
0x00
- DW_CFA_advance_loc2 =
2 | 1-byte delta
0x00
- DW_CFA_advance_loc4 =
3 | 2-byte delta
0x00
- DW_CFA_offset_extended =
4 | 4-byte delta
0x00
- DW_CFA_restore_extended =
5 | ULEB128 register | ULEB128 offset
0x00
- DW_CFA_undefined =
6 | ULEB128 register
0x00
- DW_CFA_same_value =
7 | ULEB128 register
0x00
- DW_CFA_register =
8 | ULEB128 register
0x00
- DW_CFA_remember_state =
9 | ULEB128 register | ULEB128 offset
0x00
- DW_CFA_restore_state =
10 | |
0x00
- DW_CFA_def_cfa =
11 | |
0x00
- DW_CFA_def_cfa_register =
12 | ULEB128 register | ULEB128 offset
0x00
- DW_CFA_def_cfa_offset =
13 | ULEB128 register
0x00
- DW_CFA_def_cfa_expression =
14 | ULEB128 offset
0x00
- DW_CFA_expression =
15 | BLOCK
0x00
- DW_CFA_offset_extended_sf =
16 | ULEB128 register | BLOCK
0x00
- DW_CFA_def_cfa_sf =
17 | ULEB128 register | SLEB128 offset
0x00
- DW_CFA_def_cfa_offset_sf =
18 | ULEB128 register | SLEB128 offset
0x00
- DW_CFA_val_offset =
19 | SLEB128 offset
0x00
- DW_CFA_val_offset_sf =
20 | ULEB128 | ULEB128
0x00
- DW_CFA_val_expression =
21 | ULEB128 | SLEB128
0x00
- DW_CFA_lo_user =
22 | ULEB128 | BLOCK
0x00
- DW_CFA_hi_user =
28 | |
0x00
- DW_RLE_end_of_list =
Table 7.30: Range list entry encoding values Range list entry encoding name | Value
0x00
- DW_RLE_base_addressx =
0x01
- DW_RLE_startx_endx =
0x02
- DW_RLE_startx_length =
0x03
- DW_RLE_offset_pair =
0x04
- DW_RLE_base_address =
0x05
- DW_RLE_start_end =
0x06
- DW_RLE_start_length =
0x07
Class Method Summary collapse
Class Method Details
.at_for(id) ⇒ Object
18 19 20 |
# File 'lib/worf.rb', line 18 def self.at_for id constants.grep(/_AT_/).find { |c| const_get(c) == id } end |
.form_for(id) ⇒ Object
22 23 24 |
# File 'lib/worf.rb', line 22 def self.form_for id constants.grep(/_FORM_/).find { |c| const_get(c) == id } end |
.tag_for(id) ⇒ Object
14 15 16 |
# File 'lib/worf.rb', line 14 def self.tag_for id TAG_TO_NAME[id] end |