Rizin
unix-like reverse engineering framework and cli tools
rz_bin_dwarf.h File Reference
#include <rz_types.h>
#include <rz_bin.h>

Go to the source code of this file.

Classes

struct  RzBinDwarfInfoHeader
 
struct  RzBinDwarfState
 
union  section_offset
 
struct  RzBinDwarfTypeUnitHeader
 
struct  RzBinDwarfAddressRangeTable
 
struct  RzBinDwarfAttrDef
 
struct  RzBinDwarfBlock
 
struct  dwarf_attr_kind
 
struct  RzBinDwarfCompUnitHdr
 
struct  RzBinDwarfDie
 
struct  RzBinDwarfCompUnit
 
struct  RzBinDwarfDebugInfo
 
struct  RzBinDwarfAbbrevDecl
 
struct  RzBinDwarfDebugAbbrev
 
struct  RzBinDwarfSMRegisters
 
struct  rz_bin_dwarf_line_file_entry_t
 
struct  RzBinDwarfLineHeader
 
struct  RzBinDwarfLineOp
 
struct  RzBinDwarfLineUnit
 DWARF 3 Standard Section 6.2 Line Number Information This contains the entire raw line info for one compilation unit. More...
 
struct  RzBinDwarfLineInfo
 Line info of all compilation units from the entire debug_line section. More...
 
struct  rz_bin_dwarf_loc_entry_t
 
struct  rz_bin_dwarf_loc_list_t
 
struct  rz_bin_dwarf_arange_t
 
struct  rz_bin_dwarf_arange_set_t
 DWARF 3 Standard Section 6.1.2 Lookup by Address. More...
 

Macros

#define DW_EXTENDED_OPCODE   0
 
#define LOP_EXTENDED   1
 
#define LOP_DISCARD   2
 
#define LOP_STANDARD   3
 
#define LOP_SPECIAL   4
 
#define DW_LNS_copy   0x01
 
#define DW_LNS_advance_pc   0x02
 
#define DW_LNS_advance_line   0x03
 
#define DW_LNS_set_file   0x04
 
#define DW_LNS_set_column   0x05
 
#define DW_LNS_negate_stmt   0x06
 
#define DW_LNS_set_basic_block   0x07
 
#define DW_LNS_const_add_pc   0x08
 
#define DW_LNS_fixed_advance_pc   0x09
 
#define DW_LNS_set_prologue_end   0x0a /* DWARF3 */
 
#define DW_LNS_set_epilogue_begin   0x0b /* DWARF3 */
 
#define DW_LNS_set_isa   0x0c /* DWARF3 */
 
#define DW_LNE_end_sequence   0x01
 
#define DW_LNE_set_address   0x02
 
#define DW_LNE_define_file   0x03
 
#define DW_LNE_set_discriminator   0x04 /* DWARF4 */
 
#define DW_LNE_lo_user   0x80 /* DWARF3 */
 
#define DW_LNE_hi_user   0xff /* DWARF3 */
 
#define DW_LNE_HP_negate_is_UV_update   0x11 /* 17 HP */
 
#define DW_LNE_HP_push_context   0x12 /* 18 HP */
 
#define DW_LNE_HP_pop_context   0x13 /* 19 HP */
 
#define DW_LNE_HP_set_file_line_column   0x14 /* 20 HP */
 
#define DW_LNE_HP_set_routine_name   0x15 /* 21 HP */
 
#define DW_LNE_HP_set_sequence   0x16 /* 22 HP */
 
#define DW_LNE_HP_negate_post_semantics   0x17 /* 23 HP */
 
#define DW_LNE_HP_negate_function_exit   0x18 /* 24 HP */
 
#define DW_LNE_HP_negate_front_end_logical   0x19 /* 25 HP */
 
#define DW_LNE_HP_define_proc   0x20 /* 32 HP */
 
#define DW_TAG_null_entry   0x00
 
#define DW_TAG_array_type   0x01
 
#define DW_TAG_class_type   0x02
 
#define DW_TAG_entry_point   0x03
 
#define DW_TAG_enumeration_type   0x04
 
#define DW_TAG_formal_parameter   0x05
 
#define DW_TAG_imported_declaration   0x08
 
#define DW_TAG_label   0x0a
 
#define DW_TAG_lexical_block   0x0b
 
#define DW_TAG_member   0x0d
 
#define DW_TAG_pointer_type   0x0f
 
#define DW_TAG_reference_type   0x10
 
#define DW_TAG_compile_unit   0x11
 
#define DW_TAG_string_type   0x12
 
#define DW_TAG_structure_type   0x13
 
#define DW_TAG_subroutine_type   0x15
 
#define DW_TAG_typedef   0x16
 
#define DW_TAG_union_type   0x17
 
#define DW_TAG_unspecified_parameters   0x18
 
#define DW_TAG_variant   0x19
 
#define DW_TAG_common_block   0x1a
 
#define DW_TAG_common_inclusion   0x1b
 
#define DW_TAG_inheritance   0x1c
 
#define DW_TAG_inlined_subroutine   0x1d
 
#define DW_TAG_module   0x1e
 
#define DW_TAG_ptr_to_member_type   0x1f
 
#define DW_TAG_set_type   0x20
 
#define DW_TAG_subrange_type   0x21
 
#define DW_TAG_with_stmt   0x22
 
#define DW_TAG_access_declaration   0x23
 
#define DW_TAG_base_type   0x24
 
#define DW_TAG_catch_block   0x25
 
#define DW_TAG_const_type   0x26
 
#define DW_TAG_constant   0x27
 
#define DW_TAG_enumerator   0x28
 
#define DW_TAG_file_type   0x29
 
#define DW_TAG_friend   0x2a
 
#define DW_TAG_namelist   0x2b
 
#define DW_TAG_namelist_item   0x2c /* DWARF3/2 spelling */
 
#define DW_TAG_namelist_items   0x2c /* SGI misspelling/typo */
 
#define DW_TAG_packed_type   0x2d
 
#define DW_TAG_subprogram   0x2e
 
#define DW_TAG_template_type_parameter   0x2f /* DWARF3/2 spelling*/
 
#define DW_TAG_template_type_param   0x2f /* DWARF2 spelling*/
 
#define DW_TAG_template_value_parameter   0x30 /* DWARF3/2 spelling*/
 
#define DW_TAG_template_value_param   0x30 /* DWARF2 spelling*/
 
#define DW_TAG_thrown_type   0x31
 
#define DW_TAG_try_block   0x32
 
#define DW_TAG_variant_part   0x33
 
#define DW_TAG_variable   0x34
 
#define DW_TAG_volatile_type   0x35
 
#define DW_TAG_dwarf_procedure   0x36 /* DWARF3 */
 
#define DW_TAG_restrict_type   0x37 /* DWARF3 */
 
#define DW_TAG_interface_type   0x38 /* DWARF3 */
 
#define DW_TAG_namespace   0x39 /* DWARF3 */
 
#define DW_TAG_imported_module   0x3a /* DWARF3 */
 
#define DW_TAG_unspecified_type   0x3b /* DWARF3 */
 
#define DW_TAG_partial_unit   0x3c /* DWARF3 */
 
#define DW_TAG_imported_unit   0x3d /* DWARF3 */
 
#define DW_TAG_mutable_type   0x3e /* Withdrawn from DWARF3 by DWARF3f. */
 
#define DW_TAG_condition   0x3f /* DWARF3f */
 
#define DW_TAG_shared_type   0x40 /* DWARF3f */
 
#define DW_TAG_type_unit   0x41 /* DWARF4 */
 
#define DW_TAG_rvalue_reference_type   0x42 /* DWARF4 */
 
#define DW_TAG_template_alias   0x43 /* DWARF4 */
 
#define DW_TAG_LAST   0x44
 
#define DW_TAG_lo_user   0x4080
 
#define DW_TAG_hi_user   0xffff
 
#define DW_CHILDREN_no   0x00
 
#define DW_CHILDREN_yes   0x01
 
#define DW_AT_sibling   0x01
 
#define DW_AT_location   0x02
 
#define DW_AT_name   0x03
 
#define DW_AT_ordering   0x09
 
#define DW_AT_byte_size   0x0b
 
#define DW_AT_bit_offset   0x0c
 
#define DW_AT_bit_size   0x0d
 
#define DW_AT_stmt_list   0x10
 
#define DW_AT_low_pc   0x11
 
#define DW_AT_high_pc   0x12
 
#define DW_AT_language   0x13
 
#define DW_AT_discr   0x15
 
#define DW_AT_discr_value   0x16
 
#define DW_AT_visibility   0x17
 
#define DW_AT_import   0x18
 
#define DW_AT_string_length   0x19
 
#define DW_AT_common_reference   0x1a
 
#define DW_AT_comp_dir   0x1b
 
#define DW_AT_const_value   0x1c
 
#define DW_AT_containing_type   0x1d
 
#define DW_AT_default_value   0x1e
 
#define DW_AT_inline   0x20
 
#define DW_AT_is_optional   0x21
 
#define DW_AT_lower_bound   0x22
 
#define DW_AT_producer   0x25
 
#define DW_AT_prototyped   0x27
 
#define DW_AT_return_addr   0x2a
 
#define DW_AT_start_scope   0x2c
 
#define DW_AT_stride_size   0x2e
 
#define DW_AT_upper_bound   0x2f
 
#define DW_AT_abstract_origin   0x31
 
#define DW_AT_accessibility   0x32
 
#define DW_AT_address_class   0x33
 
#define DW_AT_artificial   0x34
 
#define DW_AT_base_types   0x35
 
#define DW_AT_calling_convention   0x36
 
#define DW_AT_count   0x37
 
#define DW_AT_data_member_location   0x38
 
#define DW_AT_decl_column   0x39
 
#define DW_AT_decl_file   0x3a
 
#define DW_AT_decl_line   0x3b
 
#define DW_AT_declaration   0x3c
 
#define DW_AT_discr_list   0x3d
 
#define DW_AT_encoding   0x3e
 
#define DW_AT_external   0x3f
 
#define DW_AT_frame_base   0x40
 
#define DW_AT_friend   0x41
 
#define DW_AT_identifier_case   0x42
 
#define DW_AT_macro_info   0x43
 
#define DW_AT_namelist_item   0x44
 
#define DW_AT_priority   0x45
 
#define DW_AT_segment   0x46
 
#define DW_AT_specification   0x47
 
#define DW_AT_static_link   0x48
 
#define DW_AT_type   0x49
 
#define DW_AT_use_location   0x4a
 
#define DW_AT_variable_parameter   0x4b
 
#define DW_AT_virtuality   0x4c
 
#define DW_AT_vtable_elem_location   0x4d
 
#define DW_AT_allocated   0x4e
 
#define DW_AT_associated   0x4f
 
#define DW_AT_data_location   0x50
 
#define DW_AT_byte_stride   0x51
 
#define DW_AT_entry_pc   0x52
 
#define DW_AT_use_UTF8   0x53
 
#define DW_AT_extension   0x54
 
#define DW_AT_ranges   0x55
 
#define DW_AT_trampoline   0x56
 
#define DW_AT_call_column   0x57
 
#define DW_AT_call_file   0x58
 
#define DW_AT_call_line   0x59
 
#define DW_AT_description   0x5a
 
#define DW_AT_binary_scale   0x5b
 
#define DW_AT_decimal_scale   0x5c
 
#define DW_AT_small   0x5d
 
#define DW_AT_decimal_sign   0x5e
 
#define DW_AT_digit_count   0x5f
 
#define DW_AT_picture_string   0x60
 
#define DW_AT_mutable   0x61
 
#define DW_AT_threads_scaled   0x62
 
#define DW_AT_explicit   0x63
 
#define DW_AT_object_pointer   0x64
 
#define DW_AT_endianity   0x65
 
#define DW_AT_elemental   0x66
 
#define DW_AT_pure   0x67
 
#define DW_AT_recursive   0x68
 
#define DW_AT_signature   0x69
 
#define DW_AT_main_subprogram   0x6a
 
#define DW_AT_data_bit_offset   0x6b
 
#define DW_AT_const_expr   0x6c
 
#define DW_AT_enum_class   0x6d
 
#define DW_AT_linkage_name   0x6e
 
#define DW_AT_string_length_bit_size   0x6f
 
#define DW_AT_string_length_byte_size   0x70
 
#define DW_AT_rank   0x71
 
#define DW_AT_str_offsets_base   0x72
 
#define DW_AT_addr_base   0x73
 
#define DW_AT_rnglists_base   0x74
 
#define DW_AT_dwo_name   0x76
 
#define DW_AT_reference   0x77
 
#define DW_AT_rvalue_reference   0x78
 
#define DW_AT_macros   0x79
 
#define DW_AT_call_all_calls   0x7a
 
#define DW_AT_call_all_source_calls   0x7b
 
#define DW_AT_call_all_tail_calls   0x7c
 
#define DW_AT_call_return_pc   0x7d
 
#define DW_AT_call_value   0x7e
 
#define DW_AT_call_origin   0x7f
 
#define DW_AT_call_parameter   0x80
 
#define DW_AT_call_pc   0x81
 
#define DW_AT_call_tail_call   0x82
 
#define DW_AT_call_target   0x83
 
#define DW_AT_call_target_clobbered   0x84
 
#define DW_AT_call_data_location   0x85
 
#define DW_AT_call_data_value   0x86
 
#define DW_AT_noreturn   0x87
 
#define DW_AT_alignment   0x88
 
#define DW_AT_export_symbols   0x89
 
#define DW_AT_deleted   0x8a
 
#define DW_AT_defaulted   0x8b
 
#define DW_AT_loclists_base   0x8c
 
#define DW_AT_lo_user   0x2000
 
#define DW_AT_MIPS_linkage_name   0x2007
 
#define DW_AT_GNU_call_site_value   0x2111
 
#define DW_AT_GNU_call_site_data_value   0x2112
 
#define DW_AT_GNU_call_site_target   0x2113
 
#define DW_AT_GNU_call_site_target_clobbered   0x2114
 
#define DW_AT_GNU_tail_call   0x2115
 
#define DW_AT_GNU_all_tail_call_sites   0x2116
 
#define DW_AT_GNU_all_call_sites   0x2117
 
#define DW_AT_GNU_all_source_call_sites   0x2118
 
#define DW_AT_GNU_macros   0x2119
 
#define DW_AT_GNU_deleted   0x211a
 
#define DW_AT_GNU_dwo_name   0x2130
 
#define DW_AT_GNU_dwo_id   0x2131
 
#define DW_AT_GNU_ranges_base   0x2132
 
#define DW_AT_GNU_addr_base   0x2133
 
#define DW_AT_GNU_pubnames   0x2134
 
#define DW_AT_GNU_pubtypes   0x2135
 
#define DW_AT_hi_user   0x3fff
 
#define DW_FORM_addr   0x01
 
#define DW_FORM_block2   0x03
 
#define DW_FORM_block4   0x04
 
#define DW_FORM_data2   0x05
 
#define DW_FORM_data4   0x06
 
#define DW_FORM_data8   0x07
 
#define DW_FORM_string   0x08
 
#define DW_FORM_block   0x09
 
#define DW_FORM_block1   0x0a
 
#define DW_FORM_data1   0x0b
 
#define DW_FORM_flag   0x0c
 
#define DW_FORM_sdata   0x0d
 
#define DW_FORM_strp   0x0e
 
#define DW_FORM_udata   0x0f
 
#define DW_FORM_ref_addr   0x10
 
#define DW_FORM_ref1   0x11
 
#define DW_FORM_ref2   0x12
 
#define DW_FORM_ref4   0x13
 
#define DW_FORM_ref8   0x14
 
#define DW_FORM_ref_udata   0x15
 
#define DW_FORM_indirect   0x16
 
#define DW_FORM_sec_offset   0x17
 
#define DW_FORM_exprloc   0x18
 
#define DW_FORM_flag_present   0x19
 
#define DW_FORM_strx   0x1a
 
#define DW_FORM_addrx   0x1b
 
#define DW_FORM_ref_sup4   0x1c
 
#define DW_FORM_strp_sup   0x1d
 
#define DW_FORM_data16   0x1e
 
#define DW_FORM_line_ptr   0x1f
 
#define DW_FORM_ref_sig8   0x20
 
#define DW_FORM_implicit_const   0x21
 
#define DW_FORM_loclistx   0x22
 
#define DW_FORM_rnglistx   0x23
 
#define DW_FORM_ref_sup8   0x24
 
#define DW_FORM_strx1   0x25
 
#define DW_FORM_strx2   0x26
 
#define DW_FORM_strx3   0x27
 
#define DW_FORM_strx4   0x28
 
#define DW_FORM_addrx1   0x29
 
#define DW_FORM_addrx2   0x2a
 
#define DW_FORM_addrx3   0x2b
 
#define DW_FORM_addrx4   0x2c
 
#define DW_OP_addr   0x03
 
#define DW_OP_deref   0x06
 
#define DW_OP_const1u   0x08
 
#define DW_OP_const1s   0x09
 
#define DW_OP_const2u   0x0a
 
#define DW_OP_const2s   0x0b
 
#define DW_OP_const4u   0x0c
 
#define DW_OP_const4s   0x0d
 
#define DW_OP_const8u   0x0e
 
#define DW_OP_const8s   0x0f
 
#define DW_OP_constu   0x10
 
#define DW_OP_consts   0x11
 
#define DW_OP_dup   0x12
 
#define DW_OP_drop   0x13
 
#define DW_OP_over   0x14
 
#define DW_OP_pick   0x15
 
#define DW_OP_swap   0x16
 
#define DW_OP_rot   0x17
 
#define DW_OP_xderef   0x18
 
#define DW_OP_abs   0x19
 
#define DW_OP_and   0x1a
 
#define DW_OP_div   0x1b
 
#define DW_OP_minus   0x1c
 
#define DW_OP_mod   0x1d
 
#define DW_OP_mul   0x1e
 
#define DW_OP_neg   0x1f
 
#define DW_OP_not   0x20
 
#define DW_OP_or   0x21
 
#define DW_OP_plus   0x22
 
#define DW_OP_plus_uconst   0x23
 
#define DW_OP_shl   0x24
 
#define DW_OP_shr   0x25
 
#define DW_OP_shra   0x26
 
#define DW_OP_xor   0x27
 
#define DW_OP_skip   0x2f
 
#define DW_OP_bra   0x28
 
#define DW_OP_eq   0x29
 
#define DW_OP_ge   0x2a
 
#define DW_OP_gt   0x2b
 
#define DW_OP_le   0x2c
 
#define DW_OP_lt   0x2d
 
#define DW_OP_ne   0x2e
 
#define DW_OP_lit0   0x30
 
#define DW_OP_lit1   0x31
 
#define DW_OP_lit2   0x32
 
#define DW_OP_lit3   0x33
 
#define DW_OP_lit4   0x34
 
#define DW_OP_lit5   0x35
 
#define DW_OP_lit6   0x36
 
#define DW_OP_lit7   0x37
 
#define DW_OP_lit8   0x38
 
#define DW_OP_lit9   0x39
 
#define DW_OP_lit10   0x3a
 
#define DW_OP_lit11   0x3b
 
#define DW_OP_lit12   0x3c
 
#define DW_OP_lit13   0x3d
 
#define DW_OP_lit14   0x3e
 
#define DW_OP_lit15   0x3f
 
#define DW_OP_lit16   0x40
 
#define DW_OP_lit17   0x41
 
#define DW_OP_lit18   0x42
 
#define DW_OP_lit19   0x43
 
#define DW_OP_lit20   0x44
 
#define DW_OP_lit21   0x45
 
#define DW_OP_lit22   0x46
 
#define DW_OP_lit23   0x47
 
#define DW_OP_lit24   0x48
 
#define DW_OP_lit25   0x49
 
#define DW_OP_lit26   0x4a
 
#define DW_OP_lit27   0x4b
 
#define DW_OP_lit28   0x4c
 
#define DW_OP_lit29   0x4d
 
#define DW_OP_lit30   0x4e
 
#define DW_OP_lit31   0x4f
 
#define DW_OP_reg0   0x50
 
#define DW_OP_reg1   0x51
 
#define DW_OP_reg2   0x52
 
#define DW_OP_reg3   0x53
 
#define DW_OP_reg4   0x54
 
#define DW_OP_reg5   0x55
 
#define DW_OP_reg6   0x56
 
#define DW_OP_reg7   0x57
 
#define DW_OP_reg8   0x58
 
#define DW_OP_reg9   0x59
 
#define DW_OP_reg10   0x5a
 
#define DW_OP_reg11   0x5b
 
#define DW_OP_reg12   0x5c
 
#define DW_OP_reg13   0x5d
 
#define DW_OP_reg14   0x5e
 
#define DW_OP_reg15   0x5f
 
#define DW_OP_reg16   0x60
 
#define DW_OP_reg17   0x61
 
#define DW_OP_reg18   0x62
 
#define DW_OP_reg19   0x63
 
#define DW_OP_reg20   0x64
 
#define DW_OP_reg21   0x65
 
#define DW_OP_reg22   0x66
 
#define DW_OP_reg23   0x67
 
#define DW_OP_reg24   0x68
 
#define DW_OP_reg25   0x69
 
#define DW_OP_reg26   0x6a
 
#define DW_OP_reg27   0x6b
 
#define DW_OP_reg28   0x6c
 
#define DW_OP_reg29   0x6d
 
#define DW_OP_reg30   0x6e
 
#define DW_OP_reg31   0x6f
 
#define DW_OP_breg0   0x70
 
#define DW_OP_breg1   0x71
 
#define DW_OP_breg2   0x72
 
#define DW_OP_breg3   0x73
 
#define DW_OP_breg4   0x74
 
#define DW_OP_breg5   0x75
 
#define DW_OP_breg6   0x76
 
#define DW_OP_breg7   0x77
 
#define DW_OP_breg8   0x78
 
#define DW_OP_breg9   0x79
 
#define DW_OP_breg10   0x7a
 
#define DW_OP_breg11   0x7b
 
#define DW_OP_breg12   0x7c
 
#define DW_OP_breg13   0x7d
 
#define DW_OP_breg14   0x7e
 
#define DW_OP_breg15   0x7f
 
#define DW_OP_breg16   0x80
 
#define DW_OP_breg17   0x81
 
#define DW_OP_breg18   0x82
 
#define DW_OP_breg19   0x83
 
#define DW_OP_breg20   0x84
 
#define DW_OP_breg21   0x85
 
#define DW_OP_breg22   0x86
 
#define DW_OP_breg23   0x87
 
#define DW_OP_breg24   0x88
 
#define DW_OP_breg25   0x89
 
#define DW_OP_breg26   0x8a
 
#define DW_OP_breg27   0x8b
 
#define DW_OP_breg28   0x8c
 
#define DW_OP_breg29   0x8d
 
#define DW_OP_breg30   0x8e
 
#define DW_OP_breg31   0x8f
 
#define DW_OP_regx   0x90
 
#define DW_OP_fbreg   0x91
 
#define DW_OP_bregx   0x92
 
#define DW_OP_piece   0x93
 
#define DW_OP_deref_size   0x94
 
#define DW_OP_xderef_size   0x95
 
#define DW_OP_nop   0x96
 
#define DW_OP_push_object_address   0x97
 
#define DW_OP_call2   0x98
 
#define DW_OP_call4   0x99
 
#define DW_OP_call_ref   0x9a
 
#define DW_OP_form_tls_address   0x9b
 
#define DW_OP_call_frame_cfa   0x9c
 
#define DW_OP_bit_piece   0x9d
 
#define DW_OP_implicit_value   0x9e
 
#define DW_OP_stack_value   0x9f
 
#define DW_OP_lo_user   0xe0
 
#define DW_OP_hi_user   0xff
 
#define DW_ATE_address   0x01
 
#define DW_ATE_boolean   0x02
 
#define DW_ATE_complex_float   0x03
 
#define DW_ATE_float   0x04
 
#define DW_ATE_signed   0x05
 
#define DW_ATE_signed_char   0x06
 
#define DW_ATE_unsigned   0x07
 
#define DW_ATE_unsigned_char   0x08
 
#define DW_ATE_imaginary_float   0x09
 
#define DW_ATE_packed_decimal   0x0a
 
#define DW_ATE_numeric_string   0x0b
 
#define DW_ATE_edited   0x0c
 
#define DW_ATE_signed_fixed   0x0d
 
#define DW_ATE_unsigned_fixed   0x0e
 
#define DW_ATE_decimal_float   0x0f
 
#define DW_ATE_UTF   0x10
 
#define DW_ATE_lo_user   0x80
 
#define DW_ATE_hi_user   0xff
 
#define DW_DS_unsigned   0x01
 
#define DW_DS_leading_overpunch   0x02
 
#define DW_DS_trailing_overpunch   0x03
 
#define DW_DS_leading_separate   0x04
 
#define DW_DS_trailing_separate   0x05
 
#define DW_END_default   0x00
 
#define DW_END_big   0x01
 
#define DW_END_little   0x02
 
#define DW_END_lo_user   0x40
 
#define DW_END_hi_user   0xff
 
#define DW_ACCESS_public   0x01
 
#define DW_ACCESS_protected   0x02
 
#define DW_ACCESS_private   0x03
 
#define DW_VIS_local   0x01
 
#define DW_VIS_exported   0x02
 
#define DW_VIS_qualified   0x03
 
#define DW_VIRTUALITY_none   0x00
 
#define DW_VIRTUALITY_virtual   0x01
 
#define DW_VIRTUALITY_pure_virtual   0x02
 
#define DW_LANG_C89   0x0001
 
#define DW_LANG_C   0x0002
 
#define DW_LANG_Ada83   0x0003
 
#define DW_LANG_C_plus_plus   0x0004
 
#define DW_LANG_Cobol74   0x0005
 
#define DW_LANG_Cobol85   0x0006
 
#define DW_LANG_Fortran77   0x0007
 
#define DW_LANG_Fortran90   0x0008
 
#define DW_LANG_Pascal83   0x0009
 
#define DW_LANG_Modula2   0x000a
 
#define DW_LANG_Java   0x000b
 
#define DW_LANG_C99   0x000c
 
#define DW_LANG_Ada95   0x000d
 
#define DW_LANG_Fortran95   0x000e
 
#define DW_LANG_PLI   0x000f
 
#define DW_LANG_ObjC   0x0010
 
#define DW_LANG_ObjC_plus_plus   0x0011
 
#define DW_LANG_UPC   0x0012
 
#define DW_LANG_D   0x0013
 
#define DW_LANG_Python   0x0014
 
#define DW_LANG_Rust   0x001c
 
#define DW_LANG_C11   0x001d
 
#define DW_LANG_Swift   0x001e
 
#define DW_LANG_Julia   0x001f
 
#define DW_LANG_Dylan   0x0020
 
#define DW_LANG_C_plus_plus_14   0x0021
 
#define DW_LANG_Fortran03   0x0022
 
#define DW_LANG_Fortran08   0x0023
 
#define DW_LANG_lo_user   0x8000
 
#define DW_LANG_hi_user   0xffff
 
#define DW_ID_case_sensitive   0x00
 
#define DW_ID_up_case   0x01
 
#define DW_ID_down_case   0x02
 
#define DW_ID_case_insensitive   0x03
 
#define DW_CC_normal   0x01
 
#define DW_CC_program   0x02
 
#define DW_CC_nocall   0x03
 
#define DW_CC_lo_user   0x40
 
#define DW_CC_hi_user   0xff
 
#define DW_INL_not_inlined   0x00
 
#define DW_INL_inlined   0x01
 
#define DW_INL_declared_not_inlined   0x02
 
#define DW_INL_declared_inlined   0x03
 
#define DW_ORD_row_major   0x00
 
#define DW_ORD_col_major   0x01
 
#define DW_DSC_label   0x00
 
#define DW_DSC_range   0x01
 
#define DW_MACINFO_define   0x01
 
#define DW_MACINFO_undef   0x02
 
#define DW_MACINFO_start_file   0x03
 
#define DW_MACINFO_end_file   0x04
 
#define DW_MACINFO_vendor_ext   0xff
 
#define DW_CFA_advance_loc   0x40
 
#define DW_CFA_offset   0x80
 
#define DW_CFA_restore   0xc0
 
#define DW_CFA_nop   0x00
 
#define DW_CFA_set_loc   0x01
 
#define DW_CFA_advance_loc1   0x02
 
#define DW_CFA_advance_loc2   0x03
 
#define DW_CFA_advance_loc4   0x04
 
#define DW_CFA_offse_extended   0x05
 
#define DW_CFA_restore_extended   0x06
 
#define DW_CFA_undefined   0x07
 
#define DW_CFA_same_value   0x08
 
#define DW_CFA_register   0x09
 
#define DW_CFA_remember_state   0x0a
 
#define DW_CFA_restore_state   0x0b
 
#define DW_CFA_def_cfa   0x0c
 
#define DW_CFA_def_cfa_register   0x0d
 
#define DW_CFA_def_cfa_offset   0x0e
 
#define DW_CFA_def_cfa_expression   0x0f
 
#define DW_CFA_expression   0x10
 
#define DW_CFA_offset_extended_sf   0x11
 
#define DW_CFA_def_cfa_sf   0x12
 
#define DW_CFA_def_cfa_offset_sf   0x13
 
#define DW_CFA_val_offset   0x14
 
#define DW_CFA_val_offset_sf   0x15
 
#define DW_CFA_val_expression   0x16
 
#define DW_CFA_lo_user   0x1c
 
#define DW_CFA_hi_user   0x3f
 
#define DW_UT_compile   0x01
 
#define DW_UT_type   0x02
 
#define DW_UT_partial   0x03
 
#define DW_UT_skeleton   0x04
 
#define DW_UT_split_compile   0x05
 
#define DW_UT_split_type   0x06
 
#define DW_UT_lo_user   0x80
 
#define DW_UT_hi_user   0xff
 
#define RZ_BIN_DWARF_INFO_HEADER_FILE_LENGTH(x)   (sizeof(x->file) / sizeof(*(x->file)))
 
#define DWARF_INIT_LEN_64   0xffffffff
 
#define COMP_UNIT_CAPACITY   8
 
#define DEBUG_INFO_CAPACITY   8
 
#define ABBREV_DECL_CAP   8
 
#define DEBUG_ABBREV_CAP   32
 
#define DWARF_FALSE   0
 
#define DWARF_TRUE   1
 
#define RZ_BIN_DWARF_LINE_OP_STD_ARGS_MAX   1
 
#define rz_bin_dwarf_line_new(o, a, f, l)   o->address = a, o->file = strdup(f ? f : ""), o->line = l, o->column = 0, o
 

Typedefs

typedef struct dwarf_attr_kind RzBinDwarfAttrValue
 
typedef struct rz_bin_dwarf_line_file_entry_t RzBinDwarfLineFileEntry
 
typedef struct rz_bin_dwarf_loc_entry_t RzBinDwarfLocRange
 
typedef struct rz_bin_dwarf_loc_list_t RzBinDwarfLocList
 
typedef struct rz_bin_dwarf_arange_t RzBinDwarfARange
 
typedef struct rz_bin_dwarf_arange_set_t RzBinDwarfARangeSet
 DWARF 3 Standard Section 6.1.2 Lookup by Address. More...
 
typedef char ** RzBinDwarfLineFileCache
 Opaque cache for fully resolved filenames during Dwarf Line Info Generation This cache stores full file paths to be optionally used in rz_bin_dwarf_line_op_run(). It is strictly associated with the RzBinDwarfLineHeader it has been created with in rz_bin_dwarf_line_header_new_file_cache() and must be freed with the same header in rz_bin_dwarf_line_header_free_file_cache(). More...
 

Enumerations

enum  RzBinDwarfAttrKind {
  DW_AT_KIND_ADDRESS , DW_AT_KIND_BLOCK , DW_AT_KIND_CONSTANT , DW_AT_KIND_EXPRLOC ,
  DW_AT_KIND_FLAG , DW_AT_KIND_LINEPTR , DW_AT_KIND_LOCLISTPTR , DW_AT_KIND_MACPTR ,
  DW_AT_KIND_RANGELISTPTR , DW_AT_KIND_REFERENCE , DW_AT_KIND_STRING
}
 
enum  RzBinDwarfLineOpType { RZ_BIN_DWARF_LINE_OP_TYPE_SPEC , RZ_BIN_DWARF_LINE_OP_TYPE_STD , RZ_BIN_DWARF_LINE_OP_TYPE_EXT }
 
enum  RzBinDwarfLineInfoMask { RZ_BIN_DWARF_LINE_INFO_MASK_BASIC = 0x0 , RZ_BIN_DWARF_LINE_INFO_MASK_OPS = 0x1 , RZ_BIN_DWARF_LINE_INFO_MASK_LINES = 0x2 }
 

Functions

static const char * rz_bin_dwarf_attr_value_get_string_content (const RzBinDwarfAttrValue *val)
 Safely get the string content from an RzBinDwarfAttrValue if it has one. More...
 
RZ_API const char * rz_bin_dwarf_get_tag_name (ut64 tag)
 
RZ_API const char * rz_bin_dwarf_get_attr_name (ut64 attr_code)
 
RZ_API const char * rz_bin_dwarf_get_attr_form_name (ut64 form_code)
 
RZ_API const char * rz_bin_dwarf_get_unit_type_name (ut64 unit_type)
 
RZ_API const char * rz_bin_dwarf_get_lang_name (ut64 lang)
 
RZ_API RzListrz_bin_dwarf_parse_aranges (RzBinFile *binfile)
 
RZ_API RzBinDwarfDebugAbbrevrz_bin_dwarf_parse_abbrev (RzBinFile *binfile)
 
RZ_API RzBinDwarfDebugInforz_bin_dwarf_parse_info (RzBinFile *binfile, RzBinDwarfDebugAbbrev *da)
 Parses .debug_info section. More...
 
RZ_API HtUP * rz_bin_dwarf_parse_loc (RzBinFile *binfile, int addr_size)
 Parses out the .debug_loc section into a table that maps each list as offset of a list -> LocationList. More...
 
RZ_API void rz_bin_dwarf_arange_set_free (RzBinDwarfARangeSet *set)
 
RZ_API void rz_bin_dwarf_loc_free (HtUP *loc_table)
 
RZ_API void rz_bin_dwarf_debug_info_free (RzBinDwarfDebugInfo *inf)
 
RZ_API void rz_bin_dwarf_debug_abbrev_free (RzBinDwarfDebugAbbrev *da)
 
RZ_API RzBinDwarfLineInforz_bin_dwarf_parse_line (RzBinFile *binfile, RZ_NULLABLE RzBinDwarfDebugInfo *info, RzBinDwarfLineInfoMask mask)
 
RZ_API char * rz_bin_dwarf_line_header_get_full_file_path (RZ_NULLABLE const RzBinDwarfDebugInfo *info, const RzBinDwarfLineHeader *header, ut64 file_index)
 
RZ_API ut64 rz_bin_dwarf_line_header_get_adj_opcode (const RzBinDwarfLineHeader *header, ut8 opcode)
 
RZ_API ut64 rz_bin_dwarf_line_header_get_spec_op_advance_pc (const RzBinDwarfLineHeader *header, ut8 opcode)
 
RZ_API st64 rz_bin_dwarf_line_header_get_spec_op_advance_line (const RzBinDwarfLineHeader *header, ut8 opcode)
 
RZ_API void rz_bin_dwarf_line_header_reset_regs (const RzBinDwarfLineHeader *hdr, RzBinDwarfSMRegisters *regs)
 
RZ_API RzBinDwarfLineFileCache rz_bin_dwarf_line_header_new_file_cache (const RzBinDwarfLineHeader *hdr)
 
RZ_API void rz_bin_dwarf_line_header_free_file_cache (const RzBinDwarfLineHeader *hdr, RzBinDwarfLineFileCache fnc)
 
RZ_API bool rz_bin_dwarf_line_op_run (const RzBinDwarfLineHeader *hdr, RzBinDwarfSMRegisters *regs, RzBinDwarfLineOp *op, RZ_NULLABLE struct rz_bin_source_line_info_builder_t *bob, RZ_NULLABLE RzBinDwarfDebugInfo *info, RZ_NULLABLE RzBinDwarfLineFileCache fnc)
 
RZ_API void rz_bin_dwarf_line_op_fini (RzBinDwarfLineOp *op)
 
RZ_API void rz_bin_dwarf_line_info_free (RzBinDwarfLineInfo *li)
 

Macro Definition Documentation

◆ ABBREV_DECL_CAP

#define ABBREV_DECL_CAP   8

Definition at line 784 of file rz_bin_dwarf.h.

◆ COMP_UNIT_CAPACITY

#define COMP_UNIT_CAPACITY   8

Definition at line 767 of file rz_bin_dwarf.h.

◆ DEBUG_ABBREV_CAP

#define DEBUG_ABBREV_CAP   32

Definition at line 796 of file rz_bin_dwarf.h.

◆ DEBUG_INFO_CAPACITY

#define DEBUG_INFO_CAPACITY   8

Definition at line 768 of file rz_bin_dwarf.h.

◆ DW_ACCESS_private

#define DW_ACCESS_private   0x03

Definition at line 519 of file rz_bin_dwarf.h.

◆ DW_ACCESS_protected

#define DW_ACCESS_protected   0x02

Definition at line 518 of file rz_bin_dwarf.h.

◆ DW_ACCESS_public

#define DW_ACCESS_public   0x01

Definition at line 517 of file rz_bin_dwarf.h.

◆ DW_AT_abstract_origin

#define DW_AT_abstract_origin   0x31

Definition at line 163 of file rz_bin_dwarf.h.

◆ DW_AT_accessibility

#define DW_AT_accessibility   0x32

Definition at line 164 of file rz_bin_dwarf.h.

◆ DW_AT_addr_base

#define DW_AT_addr_base   0x73

Definition at line 230 of file rz_bin_dwarf.h.

◆ DW_AT_address_class

#define DW_AT_address_class   0x33

Definition at line 165 of file rz_bin_dwarf.h.

◆ DW_AT_alignment

#define DW_AT_alignment   0x88

Definition at line 251 of file rz_bin_dwarf.h.

◆ DW_AT_allocated

#define DW_AT_allocated   0x4e

Definition at line 192 of file rz_bin_dwarf.h.

◆ DW_AT_artificial

#define DW_AT_artificial   0x34

Definition at line 166 of file rz_bin_dwarf.h.

◆ DW_AT_associated

#define DW_AT_associated   0x4f

Definition at line 193 of file rz_bin_dwarf.h.

◆ DW_AT_base_types

#define DW_AT_base_types   0x35

Definition at line 167 of file rz_bin_dwarf.h.

◆ DW_AT_binary_scale

#define DW_AT_binary_scale   0x5b

Definition at line 205 of file rz_bin_dwarf.h.

◆ DW_AT_bit_offset

#define DW_AT_bit_offset   0x0c

Definition at line 138 of file rz_bin_dwarf.h.

◆ DW_AT_bit_size

#define DW_AT_bit_size   0x0d

Definition at line 139 of file rz_bin_dwarf.h.

◆ DW_AT_byte_size

#define DW_AT_byte_size   0x0b

Definition at line 137 of file rz_bin_dwarf.h.

◆ DW_AT_byte_stride

#define DW_AT_byte_stride   0x51

Definition at line 195 of file rz_bin_dwarf.h.

◆ DW_AT_call_all_calls

#define DW_AT_call_all_calls   0x7a

Definition at line 237 of file rz_bin_dwarf.h.

◆ DW_AT_call_all_source_calls

#define DW_AT_call_all_source_calls   0x7b

Definition at line 238 of file rz_bin_dwarf.h.

◆ DW_AT_call_all_tail_calls

#define DW_AT_call_all_tail_calls   0x7c

Definition at line 239 of file rz_bin_dwarf.h.

◆ DW_AT_call_column

#define DW_AT_call_column   0x57

Definition at line 201 of file rz_bin_dwarf.h.

◆ DW_AT_call_data_location

#define DW_AT_call_data_location   0x85

Definition at line 248 of file rz_bin_dwarf.h.

◆ DW_AT_call_data_value

#define DW_AT_call_data_value   0x86

Definition at line 249 of file rz_bin_dwarf.h.

◆ DW_AT_call_file

#define DW_AT_call_file   0x58

Definition at line 202 of file rz_bin_dwarf.h.

◆ DW_AT_call_line

#define DW_AT_call_line   0x59

Definition at line 203 of file rz_bin_dwarf.h.

◆ DW_AT_call_origin

#define DW_AT_call_origin   0x7f

Definition at line 242 of file rz_bin_dwarf.h.

◆ DW_AT_call_parameter

#define DW_AT_call_parameter   0x80

Definition at line 243 of file rz_bin_dwarf.h.

◆ DW_AT_call_pc

#define DW_AT_call_pc   0x81

Definition at line 244 of file rz_bin_dwarf.h.

◆ DW_AT_call_return_pc

#define DW_AT_call_return_pc   0x7d

Definition at line 240 of file rz_bin_dwarf.h.

◆ DW_AT_call_tail_call

#define DW_AT_call_tail_call   0x82

Definition at line 245 of file rz_bin_dwarf.h.

◆ DW_AT_call_target

#define DW_AT_call_target   0x83

Definition at line 246 of file rz_bin_dwarf.h.

◆ DW_AT_call_target_clobbered

#define DW_AT_call_target_clobbered   0x84

Definition at line 247 of file rz_bin_dwarf.h.

◆ DW_AT_call_value

#define DW_AT_call_value   0x7e

Definition at line 241 of file rz_bin_dwarf.h.

◆ DW_AT_calling_convention

#define DW_AT_calling_convention   0x36

Definition at line 168 of file rz_bin_dwarf.h.

◆ DW_AT_common_reference

#define DW_AT_common_reference   0x1a

Definition at line 149 of file rz_bin_dwarf.h.

◆ DW_AT_comp_dir

#define DW_AT_comp_dir   0x1b

Definition at line 150 of file rz_bin_dwarf.h.

◆ DW_AT_const_expr

#define DW_AT_const_expr   0x6c

Definition at line 222 of file rz_bin_dwarf.h.

◆ DW_AT_const_value

#define DW_AT_const_value   0x1c

Definition at line 151 of file rz_bin_dwarf.h.

◆ DW_AT_containing_type

#define DW_AT_containing_type   0x1d

Definition at line 152 of file rz_bin_dwarf.h.

◆ DW_AT_count

#define DW_AT_count   0x37

Definition at line 169 of file rz_bin_dwarf.h.

◆ DW_AT_data_bit_offset

#define DW_AT_data_bit_offset   0x6b

Definition at line 221 of file rz_bin_dwarf.h.

◆ DW_AT_data_location

#define DW_AT_data_location   0x50

Definition at line 194 of file rz_bin_dwarf.h.

◆ DW_AT_data_member_location

#define DW_AT_data_member_location   0x38

Definition at line 170 of file rz_bin_dwarf.h.

◆ DW_AT_decimal_scale

#define DW_AT_decimal_scale   0x5c

Definition at line 206 of file rz_bin_dwarf.h.

◆ DW_AT_decimal_sign

#define DW_AT_decimal_sign   0x5e

Definition at line 208 of file rz_bin_dwarf.h.

◆ DW_AT_decl_column

#define DW_AT_decl_column   0x39

Definition at line 171 of file rz_bin_dwarf.h.

◆ DW_AT_decl_file

#define DW_AT_decl_file   0x3a

Definition at line 172 of file rz_bin_dwarf.h.

◆ DW_AT_decl_line

#define DW_AT_decl_line   0x3b

Definition at line 173 of file rz_bin_dwarf.h.

◆ DW_AT_declaration

#define DW_AT_declaration   0x3c

Definition at line 174 of file rz_bin_dwarf.h.

◆ DW_AT_default_value

#define DW_AT_default_value   0x1e

Definition at line 153 of file rz_bin_dwarf.h.

◆ DW_AT_defaulted

#define DW_AT_defaulted   0x8b

Definition at line 254 of file rz_bin_dwarf.h.

◆ DW_AT_deleted

#define DW_AT_deleted   0x8a

Definition at line 253 of file rz_bin_dwarf.h.

◆ DW_AT_description

#define DW_AT_description   0x5a

Definition at line 204 of file rz_bin_dwarf.h.

◆ DW_AT_digit_count

#define DW_AT_digit_count   0x5f

Definition at line 209 of file rz_bin_dwarf.h.

◆ DW_AT_discr

#define DW_AT_discr   0x15

Definition at line 144 of file rz_bin_dwarf.h.

◆ DW_AT_discr_list

#define DW_AT_discr_list   0x3d

Definition at line 175 of file rz_bin_dwarf.h.

◆ DW_AT_discr_value

#define DW_AT_discr_value   0x16

Definition at line 145 of file rz_bin_dwarf.h.

◆ DW_AT_dwo_name

#define DW_AT_dwo_name   0x76

Definition at line 233 of file rz_bin_dwarf.h.

◆ DW_AT_elemental

#define DW_AT_elemental   0x66

Definition at line 216 of file rz_bin_dwarf.h.

◆ DW_AT_encoding

#define DW_AT_encoding   0x3e

Definition at line 176 of file rz_bin_dwarf.h.

◆ DW_AT_endianity

#define DW_AT_endianity   0x65

Definition at line 215 of file rz_bin_dwarf.h.

◆ DW_AT_entry_pc

#define DW_AT_entry_pc   0x52

Definition at line 196 of file rz_bin_dwarf.h.

◆ DW_AT_enum_class

#define DW_AT_enum_class   0x6d

Definition at line 223 of file rz_bin_dwarf.h.

◆ DW_AT_explicit

#define DW_AT_explicit   0x63

Definition at line 213 of file rz_bin_dwarf.h.

◆ DW_AT_export_symbols

#define DW_AT_export_symbols   0x89

Definition at line 252 of file rz_bin_dwarf.h.

◆ DW_AT_extension

#define DW_AT_extension   0x54

Definition at line 198 of file rz_bin_dwarf.h.

◆ DW_AT_external

#define DW_AT_external   0x3f

Definition at line 177 of file rz_bin_dwarf.h.

◆ DW_AT_frame_base

#define DW_AT_frame_base   0x40

Definition at line 178 of file rz_bin_dwarf.h.

◆ DW_AT_friend

#define DW_AT_friend   0x41

Definition at line 179 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_addr_base

#define DW_AT_GNU_addr_base   0x2133

Definition at line 274 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_all_call_sites

#define DW_AT_GNU_all_call_sites   0x2117

Definition at line 267 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_all_source_call_sites

#define DW_AT_GNU_all_source_call_sites   0x2118

Definition at line 268 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_all_tail_call_sites

#define DW_AT_GNU_all_tail_call_sites   0x2116

Definition at line 266 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_call_site_data_value

#define DW_AT_GNU_call_site_data_value   0x2112

Definition at line 262 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_call_site_target

#define DW_AT_GNU_call_site_target   0x2113

Definition at line 263 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_call_site_target_clobbered

#define DW_AT_GNU_call_site_target_clobbered   0x2114

Definition at line 264 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_call_site_value

#define DW_AT_GNU_call_site_value   0x2111

Definition at line 261 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_deleted

#define DW_AT_GNU_deleted   0x211a

Definition at line 270 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_dwo_id

#define DW_AT_GNU_dwo_id   0x2131

Definition at line 272 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_dwo_name

#define DW_AT_GNU_dwo_name   0x2130

Definition at line 271 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_macros

#define DW_AT_GNU_macros   0x2119

Definition at line 269 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_pubnames

#define DW_AT_GNU_pubnames   0x2134

Definition at line 275 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_pubtypes

#define DW_AT_GNU_pubtypes   0x2135

Definition at line 276 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_ranges_base

#define DW_AT_GNU_ranges_base   0x2132

Definition at line 273 of file rz_bin_dwarf.h.

◆ DW_AT_GNU_tail_call

#define DW_AT_GNU_tail_call   0x2115

Definition at line 265 of file rz_bin_dwarf.h.

◆ DW_AT_hi_user

#define DW_AT_hi_user   0x3fff

Definition at line 277 of file rz_bin_dwarf.h.

◆ DW_AT_high_pc

#define DW_AT_high_pc   0x12

Definition at line 142 of file rz_bin_dwarf.h.

◆ DW_AT_identifier_case

#define DW_AT_identifier_case   0x42

Definition at line 180 of file rz_bin_dwarf.h.

◆ DW_AT_import

#define DW_AT_import   0x18

Definition at line 147 of file rz_bin_dwarf.h.

◆ DW_AT_inline

#define DW_AT_inline   0x20

Definition at line 154 of file rz_bin_dwarf.h.

◆ DW_AT_is_optional

#define DW_AT_is_optional   0x21

Definition at line 155 of file rz_bin_dwarf.h.

◆ DW_AT_language

#define DW_AT_language   0x13

Definition at line 143 of file rz_bin_dwarf.h.

◆ DW_AT_linkage_name

#define DW_AT_linkage_name   0x6e

Definition at line 224 of file rz_bin_dwarf.h.

◆ DW_AT_lo_user

#define DW_AT_lo_user   0x2000

Definition at line 258 of file rz_bin_dwarf.h.

◆ DW_AT_location

#define DW_AT_location   0x02

Definition at line 134 of file rz_bin_dwarf.h.

◆ DW_AT_loclists_base

#define DW_AT_loclists_base   0x8c

Definition at line 255 of file rz_bin_dwarf.h.

◆ DW_AT_low_pc

#define DW_AT_low_pc   0x11

Definition at line 141 of file rz_bin_dwarf.h.

◆ DW_AT_lower_bound

#define DW_AT_lower_bound   0x22

Definition at line 156 of file rz_bin_dwarf.h.

◆ DW_AT_macro_info

#define DW_AT_macro_info   0x43

Definition at line 181 of file rz_bin_dwarf.h.

◆ DW_AT_macros

#define DW_AT_macros   0x79

Definition at line 236 of file rz_bin_dwarf.h.

◆ DW_AT_main_subprogram

#define DW_AT_main_subprogram   0x6a

Definition at line 220 of file rz_bin_dwarf.h.

◆ DW_AT_MIPS_linkage_name

#define DW_AT_MIPS_linkage_name   0x2007

Definition at line 260 of file rz_bin_dwarf.h.

◆ DW_AT_mutable

#define DW_AT_mutable   0x61

Definition at line 211 of file rz_bin_dwarf.h.

◆ DW_AT_name

#define DW_AT_name   0x03

Definition at line 135 of file rz_bin_dwarf.h.

◆ DW_AT_namelist_item

#define DW_AT_namelist_item   0x44

Definition at line 182 of file rz_bin_dwarf.h.

◆ DW_AT_noreturn

#define DW_AT_noreturn   0x87

Definition at line 250 of file rz_bin_dwarf.h.

◆ DW_AT_object_pointer

#define DW_AT_object_pointer   0x64

Definition at line 214 of file rz_bin_dwarf.h.

◆ DW_AT_ordering

#define DW_AT_ordering   0x09

Definition at line 136 of file rz_bin_dwarf.h.

◆ DW_AT_picture_string

#define DW_AT_picture_string   0x60

Definition at line 210 of file rz_bin_dwarf.h.

◆ DW_AT_priority

#define DW_AT_priority   0x45

Definition at line 183 of file rz_bin_dwarf.h.

◆ DW_AT_producer

#define DW_AT_producer   0x25

Definition at line 157 of file rz_bin_dwarf.h.

◆ DW_AT_prototyped

#define DW_AT_prototyped   0x27

Definition at line 158 of file rz_bin_dwarf.h.

◆ DW_AT_pure

#define DW_AT_pure   0x67

Definition at line 217 of file rz_bin_dwarf.h.

◆ DW_AT_ranges

#define DW_AT_ranges   0x55

Definition at line 199 of file rz_bin_dwarf.h.

◆ DW_AT_rank

#define DW_AT_rank   0x71

Definition at line 228 of file rz_bin_dwarf.h.

◆ DW_AT_recursive

#define DW_AT_recursive   0x68

Definition at line 218 of file rz_bin_dwarf.h.

◆ DW_AT_reference

#define DW_AT_reference   0x77

Definition at line 234 of file rz_bin_dwarf.h.

◆ DW_AT_return_addr

#define DW_AT_return_addr   0x2a

Definition at line 159 of file rz_bin_dwarf.h.

◆ DW_AT_rnglists_base

#define DW_AT_rnglists_base   0x74

Definition at line 231 of file rz_bin_dwarf.h.

◆ DW_AT_rvalue_reference

#define DW_AT_rvalue_reference   0x78

Definition at line 235 of file rz_bin_dwarf.h.

◆ DW_AT_segment

#define DW_AT_segment   0x46

Definition at line 184 of file rz_bin_dwarf.h.

◆ DW_AT_sibling

#define DW_AT_sibling   0x01

Definition at line 133 of file rz_bin_dwarf.h.

◆ DW_AT_signature

#define DW_AT_signature   0x69

Definition at line 219 of file rz_bin_dwarf.h.

◆ DW_AT_small

#define DW_AT_small   0x5d

Definition at line 207 of file rz_bin_dwarf.h.

◆ DW_AT_specification

#define DW_AT_specification   0x47

Definition at line 185 of file rz_bin_dwarf.h.

◆ DW_AT_start_scope

#define DW_AT_start_scope   0x2c

Definition at line 160 of file rz_bin_dwarf.h.

◆ DW_AT_static_link

#define DW_AT_static_link   0x48

Definition at line 186 of file rz_bin_dwarf.h.

◆ DW_AT_stmt_list

#define DW_AT_stmt_list   0x10

Definition at line 140 of file rz_bin_dwarf.h.

◆ DW_AT_str_offsets_base

#define DW_AT_str_offsets_base   0x72

Definition at line 229 of file rz_bin_dwarf.h.

◆ DW_AT_stride_size

#define DW_AT_stride_size   0x2e

Definition at line 161 of file rz_bin_dwarf.h.

◆ DW_AT_string_length

#define DW_AT_string_length   0x19

Definition at line 148 of file rz_bin_dwarf.h.

◆ DW_AT_string_length_bit_size

#define DW_AT_string_length_bit_size   0x6f

Definition at line 226 of file rz_bin_dwarf.h.

◆ DW_AT_string_length_byte_size

#define DW_AT_string_length_byte_size   0x70

Definition at line 227 of file rz_bin_dwarf.h.

◆ DW_AT_threads_scaled

#define DW_AT_threads_scaled   0x62

Definition at line 212 of file rz_bin_dwarf.h.

◆ DW_AT_trampoline

#define DW_AT_trampoline   0x56

Definition at line 200 of file rz_bin_dwarf.h.

◆ DW_AT_type

#define DW_AT_type   0x49

Definition at line 187 of file rz_bin_dwarf.h.

◆ DW_AT_upper_bound

#define DW_AT_upper_bound   0x2f

Definition at line 162 of file rz_bin_dwarf.h.

◆ DW_AT_use_location

#define DW_AT_use_location   0x4a

Definition at line 188 of file rz_bin_dwarf.h.

◆ DW_AT_use_UTF8

#define DW_AT_use_UTF8   0x53

Definition at line 197 of file rz_bin_dwarf.h.

◆ DW_AT_variable_parameter

#define DW_AT_variable_parameter   0x4b

Definition at line 189 of file rz_bin_dwarf.h.

◆ DW_AT_virtuality

#define DW_AT_virtuality   0x4c

Definition at line 190 of file rz_bin_dwarf.h.

◆ DW_AT_visibility

#define DW_AT_visibility   0x17

Definition at line 146 of file rz_bin_dwarf.h.

◆ DW_AT_vtable_elem_location

#define DW_AT_vtable_elem_location   0x4d

Definition at line 191 of file rz_bin_dwarf.h.

◆ DW_ATE_address

#define DW_ATE_address   0x01

Definition at line 482 of file rz_bin_dwarf.h.

◆ DW_ATE_boolean

#define DW_ATE_boolean   0x02

Definition at line 483 of file rz_bin_dwarf.h.

◆ DW_ATE_complex_float

#define DW_ATE_complex_float   0x03

Definition at line 484 of file rz_bin_dwarf.h.

◆ DW_ATE_decimal_float

#define DW_ATE_decimal_float   0x0f

Definition at line 496 of file rz_bin_dwarf.h.

◆ DW_ATE_edited

#define DW_ATE_edited   0x0c

Definition at line 493 of file rz_bin_dwarf.h.

◆ DW_ATE_float

#define DW_ATE_float   0x04

Definition at line 485 of file rz_bin_dwarf.h.

◆ DW_ATE_hi_user

#define DW_ATE_hi_user   0xff

Definition at line 501 of file rz_bin_dwarf.h.

◆ DW_ATE_imaginary_float

#define DW_ATE_imaginary_float   0x09

Definition at line 490 of file rz_bin_dwarf.h.

◆ DW_ATE_lo_user

#define DW_ATE_lo_user   0x80

Definition at line 500 of file rz_bin_dwarf.h.

◆ DW_ATE_numeric_string

#define DW_ATE_numeric_string   0x0b

Definition at line 492 of file rz_bin_dwarf.h.

◆ DW_ATE_packed_decimal

#define DW_ATE_packed_decimal   0x0a

Definition at line 491 of file rz_bin_dwarf.h.

◆ DW_ATE_signed

#define DW_ATE_signed   0x05

Definition at line 486 of file rz_bin_dwarf.h.

◆ DW_ATE_signed_char

#define DW_ATE_signed_char   0x06

Definition at line 487 of file rz_bin_dwarf.h.

◆ DW_ATE_signed_fixed

#define DW_ATE_signed_fixed   0x0d

Definition at line 494 of file rz_bin_dwarf.h.

◆ DW_ATE_unsigned

#define DW_ATE_unsigned   0x07

Definition at line 488 of file rz_bin_dwarf.h.

◆ DW_ATE_unsigned_char

#define DW_ATE_unsigned_char   0x08

Definition at line 489 of file rz_bin_dwarf.h.

◆ DW_ATE_unsigned_fixed

#define DW_ATE_unsigned_fixed   0x0e

Definition at line 495 of file rz_bin_dwarf.h.

◆ DW_ATE_UTF

#define DW_ATE_UTF   0x10

Definition at line 497 of file rz_bin_dwarf.h.

◆ DW_CC_hi_user

#define DW_CC_hi_user   0xff

Definition at line 569 of file rz_bin_dwarf.h.

◆ DW_CC_lo_user

#define DW_CC_lo_user   0x40

Definition at line 568 of file rz_bin_dwarf.h.

◆ DW_CC_nocall

#define DW_CC_nocall   0x03

Definition at line 567 of file rz_bin_dwarf.h.

◆ DW_CC_normal

#define DW_CC_normal   0x01

Definition at line 565 of file rz_bin_dwarf.h.

◆ DW_CC_program

#define DW_CC_program   0x02

Definition at line 566 of file rz_bin_dwarf.h.

◆ DW_CFA_advance_loc

#define DW_CFA_advance_loc   0x40

Definition at line 588 of file rz_bin_dwarf.h.

◆ DW_CFA_advance_loc1

#define DW_CFA_advance_loc1   0x02

Definition at line 594 of file rz_bin_dwarf.h.

◆ DW_CFA_advance_loc2

#define DW_CFA_advance_loc2   0x03

Definition at line 595 of file rz_bin_dwarf.h.

◆ DW_CFA_advance_loc4

#define DW_CFA_advance_loc4   0x04

Definition at line 596 of file rz_bin_dwarf.h.

◆ DW_CFA_def_cfa

#define DW_CFA_def_cfa   0x0c

Definition at line 604 of file rz_bin_dwarf.h.

◆ DW_CFA_def_cfa_expression

#define DW_CFA_def_cfa_expression   0x0f

Definition at line 607 of file rz_bin_dwarf.h.

◆ DW_CFA_def_cfa_offset

#define DW_CFA_def_cfa_offset   0x0e

Definition at line 606 of file rz_bin_dwarf.h.

◆ DW_CFA_def_cfa_offset_sf

#define DW_CFA_def_cfa_offset_sf   0x13

Definition at line 611 of file rz_bin_dwarf.h.

◆ DW_CFA_def_cfa_register

#define DW_CFA_def_cfa_register   0x0d

Definition at line 605 of file rz_bin_dwarf.h.

◆ DW_CFA_def_cfa_sf

#define DW_CFA_def_cfa_sf   0x12

Definition at line 610 of file rz_bin_dwarf.h.

◆ DW_CFA_expression

#define DW_CFA_expression   0x10

Definition at line 608 of file rz_bin_dwarf.h.

◆ DW_CFA_hi_user

#define DW_CFA_hi_user   0x3f

Definition at line 616 of file rz_bin_dwarf.h.

◆ DW_CFA_lo_user

#define DW_CFA_lo_user   0x1c

Definition at line 615 of file rz_bin_dwarf.h.

◆ DW_CFA_nop

#define DW_CFA_nop   0x00

Definition at line 592 of file rz_bin_dwarf.h.

◆ DW_CFA_offse_extended

#define DW_CFA_offse_extended   0x05

Definition at line 597 of file rz_bin_dwarf.h.

◆ DW_CFA_offset

#define DW_CFA_offset   0x80

Definition at line 589 of file rz_bin_dwarf.h.

◆ DW_CFA_offset_extended_sf

#define DW_CFA_offset_extended_sf   0x11

Definition at line 609 of file rz_bin_dwarf.h.

◆ DW_CFA_register

#define DW_CFA_register   0x09

Definition at line 601 of file rz_bin_dwarf.h.

◆ DW_CFA_remember_state

#define DW_CFA_remember_state   0x0a

Definition at line 602 of file rz_bin_dwarf.h.

◆ DW_CFA_restore

#define DW_CFA_restore   0xc0

Definition at line 590 of file rz_bin_dwarf.h.

◆ DW_CFA_restore_extended

#define DW_CFA_restore_extended   0x06

Definition at line 598 of file rz_bin_dwarf.h.

◆ DW_CFA_restore_state

#define DW_CFA_restore_state   0x0b

Definition at line 603 of file rz_bin_dwarf.h.

◆ DW_CFA_same_value

#define DW_CFA_same_value   0x08

Definition at line 600 of file rz_bin_dwarf.h.

◆ DW_CFA_set_loc

#define DW_CFA_set_loc   0x01

Definition at line 593 of file rz_bin_dwarf.h.

◆ DW_CFA_undefined

#define DW_CFA_undefined   0x07

Definition at line 599 of file rz_bin_dwarf.h.

◆ DW_CFA_val_expression

#define DW_CFA_val_expression   0x16

Definition at line 614 of file rz_bin_dwarf.h.

◆ DW_CFA_val_offset

#define DW_CFA_val_offset   0x14

Definition at line 612 of file rz_bin_dwarf.h.

◆ DW_CFA_val_offset_sf

#define DW_CFA_val_offset_sf   0x15

Definition at line 613 of file rz_bin_dwarf.h.

◆ DW_CHILDREN_no

#define DW_CHILDREN_no   0x00

Definition at line 130 of file rz_bin_dwarf.h.

◆ DW_CHILDREN_yes

#define DW_CHILDREN_yes   0x01

Definition at line 131 of file rz_bin_dwarf.h.

◆ DW_DS_leading_overpunch

#define DW_DS_leading_overpunch   0x02

Definition at line 504 of file rz_bin_dwarf.h.

◆ DW_DS_leading_separate

#define DW_DS_leading_separate   0x04

Definition at line 506 of file rz_bin_dwarf.h.

◆ DW_DS_trailing_overpunch

#define DW_DS_trailing_overpunch   0x03

Definition at line 505 of file rz_bin_dwarf.h.

◆ DW_DS_trailing_separate

#define DW_DS_trailing_separate   0x05

Definition at line 507 of file rz_bin_dwarf.h.

◆ DW_DS_unsigned

#define DW_DS_unsigned   0x01

Definition at line 503 of file rz_bin_dwarf.h.

◆ DW_DSC_label

#define DW_DSC_label   0x00

Definition at line 579 of file rz_bin_dwarf.h.

◆ DW_DSC_range

#define DW_DSC_range   0x01

Definition at line 580 of file rz_bin_dwarf.h.

◆ DW_END_big

#define DW_END_big   0x01

Definition at line 510 of file rz_bin_dwarf.h.

◆ DW_END_default

#define DW_END_default   0x00

Definition at line 509 of file rz_bin_dwarf.h.

◆ DW_END_hi_user

#define DW_END_hi_user   0xff

Definition at line 515 of file rz_bin_dwarf.h.

◆ DW_END_little

#define DW_END_little   0x02

Definition at line 511 of file rz_bin_dwarf.h.

◆ DW_END_lo_user

#define DW_END_lo_user   0x40

Definition at line 514 of file rz_bin_dwarf.h.

◆ DW_EXTENDED_OPCODE

#define DW_EXTENDED_OPCODE   0

Definition at line 13 of file rz_bin_dwarf.h.

◆ DW_FORM_addr

#define DW_FORM_addr   0x01

Definition at line 279 of file rz_bin_dwarf.h.

◆ DW_FORM_addrx

#define DW_FORM_addrx   0x1b

Definition at line 304 of file rz_bin_dwarf.h.

◆ DW_FORM_addrx1

#define DW_FORM_addrx1   0x29

Definition at line 318 of file rz_bin_dwarf.h.

◆ DW_FORM_addrx2

#define DW_FORM_addrx2   0x2a

Definition at line 319 of file rz_bin_dwarf.h.

◆ DW_FORM_addrx3

#define DW_FORM_addrx3   0x2b

Definition at line 320 of file rz_bin_dwarf.h.

◆ DW_FORM_addrx4

#define DW_FORM_addrx4   0x2c

Definition at line 321 of file rz_bin_dwarf.h.

◆ DW_FORM_block

#define DW_FORM_block   0x09

Definition at line 286 of file rz_bin_dwarf.h.

◆ DW_FORM_block1

#define DW_FORM_block1   0x0a

Definition at line 287 of file rz_bin_dwarf.h.

◆ DW_FORM_block2

#define DW_FORM_block2   0x03

Definition at line 280 of file rz_bin_dwarf.h.

◆ DW_FORM_block4

#define DW_FORM_block4   0x04

Definition at line 281 of file rz_bin_dwarf.h.

◆ DW_FORM_data1

#define DW_FORM_data1   0x0b

Definition at line 288 of file rz_bin_dwarf.h.

◆ DW_FORM_data16

#define DW_FORM_data16   0x1e

Definition at line 307 of file rz_bin_dwarf.h.

◆ DW_FORM_data2

#define DW_FORM_data2   0x05

Definition at line 282 of file rz_bin_dwarf.h.

◆ DW_FORM_data4

#define DW_FORM_data4   0x06

Definition at line 283 of file rz_bin_dwarf.h.

◆ DW_FORM_data8

#define DW_FORM_data8   0x07

Definition at line 284 of file rz_bin_dwarf.h.

◆ DW_FORM_exprloc

#define DW_FORM_exprloc   0x18

Definition at line 301 of file rz_bin_dwarf.h.

◆ DW_FORM_flag

#define DW_FORM_flag   0x0c

Definition at line 289 of file rz_bin_dwarf.h.

◆ DW_FORM_flag_present

#define DW_FORM_flag_present   0x19

Definition at line 302 of file rz_bin_dwarf.h.

◆ DW_FORM_implicit_const

#define DW_FORM_implicit_const   0x21

Definition at line 310 of file rz_bin_dwarf.h.

◆ DW_FORM_indirect

#define DW_FORM_indirect   0x16

Definition at line 299 of file rz_bin_dwarf.h.

◆ DW_FORM_line_ptr

#define DW_FORM_line_ptr   0x1f

Definition at line 308 of file rz_bin_dwarf.h.

◆ DW_FORM_loclistx

#define DW_FORM_loclistx   0x22

Definition at line 311 of file rz_bin_dwarf.h.

◆ DW_FORM_ref1

#define DW_FORM_ref1   0x11

Definition at line 294 of file rz_bin_dwarf.h.

◆ DW_FORM_ref2

#define DW_FORM_ref2   0x12

Definition at line 295 of file rz_bin_dwarf.h.

◆ DW_FORM_ref4

#define DW_FORM_ref4   0x13

Definition at line 296 of file rz_bin_dwarf.h.

◆ DW_FORM_ref8

#define DW_FORM_ref8   0x14

Definition at line 297 of file rz_bin_dwarf.h.

◆ DW_FORM_ref_addr

#define DW_FORM_ref_addr   0x10

Definition at line 293 of file rz_bin_dwarf.h.

◆ DW_FORM_ref_sig8

#define DW_FORM_ref_sig8   0x20

Definition at line 309 of file rz_bin_dwarf.h.

◆ DW_FORM_ref_sup4

#define DW_FORM_ref_sup4   0x1c

Definition at line 305 of file rz_bin_dwarf.h.

◆ DW_FORM_ref_sup8

#define DW_FORM_ref_sup8   0x24

Definition at line 313 of file rz_bin_dwarf.h.

◆ DW_FORM_ref_udata

#define DW_FORM_ref_udata   0x15

Definition at line 298 of file rz_bin_dwarf.h.

◆ DW_FORM_rnglistx

#define DW_FORM_rnglistx   0x23

Definition at line 312 of file rz_bin_dwarf.h.

◆ DW_FORM_sdata

#define DW_FORM_sdata   0x0d

Definition at line 290 of file rz_bin_dwarf.h.

◆ DW_FORM_sec_offset

#define DW_FORM_sec_offset   0x17

Definition at line 300 of file rz_bin_dwarf.h.

◆ DW_FORM_string

#define DW_FORM_string   0x08

Definition at line 285 of file rz_bin_dwarf.h.

◆ DW_FORM_strp

#define DW_FORM_strp   0x0e

Definition at line 291 of file rz_bin_dwarf.h.

◆ DW_FORM_strp_sup

#define DW_FORM_strp_sup   0x1d

Definition at line 306 of file rz_bin_dwarf.h.

◆ DW_FORM_strx

#define DW_FORM_strx   0x1a

Definition at line 303 of file rz_bin_dwarf.h.

◆ DW_FORM_strx1

#define DW_FORM_strx1   0x25

Definition at line 314 of file rz_bin_dwarf.h.

◆ DW_FORM_strx2

#define DW_FORM_strx2   0x26

Definition at line 315 of file rz_bin_dwarf.h.

◆ DW_FORM_strx3

#define DW_FORM_strx3   0x27

Definition at line 316 of file rz_bin_dwarf.h.

◆ DW_FORM_strx4

#define DW_FORM_strx4   0x28

Definition at line 317 of file rz_bin_dwarf.h.

◆ DW_FORM_udata

#define DW_FORM_udata   0x0f

Definition at line 292 of file rz_bin_dwarf.h.

◆ DW_ID_case_insensitive

#define DW_ID_case_insensitive   0x03

Definition at line 563 of file rz_bin_dwarf.h.

◆ DW_ID_case_sensitive

#define DW_ID_case_sensitive   0x00

Definition at line 560 of file rz_bin_dwarf.h.

◆ DW_ID_down_case

#define DW_ID_down_case   0x02

Definition at line 562 of file rz_bin_dwarf.h.

◆ DW_ID_up_case

#define DW_ID_up_case   0x01

Definition at line 561 of file rz_bin_dwarf.h.

◆ DW_INL_declared_inlined

#define DW_INL_declared_inlined   0x03

Definition at line 574 of file rz_bin_dwarf.h.

◆ DW_INL_declared_not_inlined

#define DW_INL_declared_not_inlined   0x02

Definition at line 573 of file rz_bin_dwarf.h.

◆ DW_INL_inlined

#define DW_INL_inlined   0x01

Definition at line 572 of file rz_bin_dwarf.h.

◆ DW_INL_not_inlined

#define DW_INL_not_inlined   0x00

Definition at line 571 of file rz_bin_dwarf.h.

◆ DW_LANG_Ada83

#define DW_LANG_Ada83   0x0003

Definition at line 531 of file rz_bin_dwarf.h.

◆ DW_LANG_Ada95

#define DW_LANG_Ada95   0x000d

Definition at line 541 of file rz_bin_dwarf.h.

◆ DW_LANG_C

#define DW_LANG_C   0x0002

Definition at line 530 of file rz_bin_dwarf.h.

◆ DW_LANG_C11

#define DW_LANG_C11   0x001d

Definition at line 550 of file rz_bin_dwarf.h.

◆ DW_LANG_C89

#define DW_LANG_C89   0x0001

Definition at line 529 of file rz_bin_dwarf.h.

◆ DW_LANG_C99

#define DW_LANG_C99   0x000c

Definition at line 540 of file rz_bin_dwarf.h.

◆ DW_LANG_C_plus_plus

#define DW_LANG_C_plus_plus   0x0004

Definition at line 532 of file rz_bin_dwarf.h.

◆ DW_LANG_C_plus_plus_14

#define DW_LANG_C_plus_plus_14   0x0021

Definition at line 554 of file rz_bin_dwarf.h.

◆ DW_LANG_Cobol74

#define DW_LANG_Cobol74   0x0005

Definition at line 533 of file rz_bin_dwarf.h.

◆ DW_LANG_Cobol85

#define DW_LANG_Cobol85   0x0006

Definition at line 534 of file rz_bin_dwarf.h.

◆ DW_LANG_D

#define DW_LANG_D   0x0013

Definition at line 547 of file rz_bin_dwarf.h.

◆ DW_LANG_Dylan

#define DW_LANG_Dylan   0x0020

Definition at line 553 of file rz_bin_dwarf.h.

◆ DW_LANG_Fortran03

#define DW_LANG_Fortran03   0x0022

Definition at line 555 of file rz_bin_dwarf.h.

◆ DW_LANG_Fortran08

#define DW_LANG_Fortran08   0x0023

Definition at line 556 of file rz_bin_dwarf.h.

◆ DW_LANG_Fortran77

#define DW_LANG_Fortran77   0x0007

Definition at line 535 of file rz_bin_dwarf.h.

◆ DW_LANG_Fortran90

#define DW_LANG_Fortran90   0x0008

Definition at line 536 of file rz_bin_dwarf.h.

◆ DW_LANG_Fortran95

#define DW_LANG_Fortran95   0x000e

Definition at line 542 of file rz_bin_dwarf.h.

◆ DW_LANG_hi_user

#define DW_LANG_hi_user   0xffff

Definition at line 558 of file rz_bin_dwarf.h.

◆ DW_LANG_Java

#define DW_LANG_Java   0x000b

Definition at line 539 of file rz_bin_dwarf.h.

◆ DW_LANG_Julia

#define DW_LANG_Julia   0x001f

Definition at line 552 of file rz_bin_dwarf.h.

◆ DW_LANG_lo_user

#define DW_LANG_lo_user   0x8000

Definition at line 557 of file rz_bin_dwarf.h.

◆ DW_LANG_Modula2

#define DW_LANG_Modula2   0x000a

Definition at line 538 of file rz_bin_dwarf.h.

◆ DW_LANG_ObjC

#define DW_LANG_ObjC   0x0010

Definition at line 544 of file rz_bin_dwarf.h.

◆ DW_LANG_ObjC_plus_plus

#define DW_LANG_ObjC_plus_plus   0x0011

Definition at line 545 of file rz_bin_dwarf.h.

◆ DW_LANG_Pascal83

#define DW_LANG_Pascal83   0x0009

Definition at line 537 of file rz_bin_dwarf.h.

◆ DW_LANG_PLI

#define DW_LANG_PLI   0x000f

Definition at line 543 of file rz_bin_dwarf.h.

◆ DW_LANG_Python

#define DW_LANG_Python   0x0014

Definition at line 548 of file rz_bin_dwarf.h.

◆ DW_LANG_Rust

#define DW_LANG_Rust   0x001c

Definition at line 549 of file rz_bin_dwarf.h.

◆ DW_LANG_Swift

#define DW_LANG_Swift   0x001e

Definition at line 551 of file rz_bin_dwarf.h.

◆ DW_LANG_UPC

#define DW_LANG_UPC   0x0012

Definition at line 546 of file rz_bin_dwarf.h.

◆ DW_LNE_define_file

#define DW_LNE_define_file   0x03

Definition at line 34 of file rz_bin_dwarf.h.

◆ DW_LNE_end_sequence

#define DW_LNE_end_sequence   0x01

Definition at line 32 of file rz_bin_dwarf.h.

◆ DW_LNE_hi_user

#define DW_LNE_hi_user   0xff /* DWARF3 */

Definition at line 37 of file rz_bin_dwarf.h.

◆ DW_LNE_HP_define_proc

#define DW_LNE_HP_define_proc   0x20 /* 32 HP */

Definition at line 49 of file rz_bin_dwarf.h.

◆ DW_LNE_HP_negate_front_end_logical

#define DW_LNE_HP_negate_front_end_logical   0x19 /* 25 HP */

Definition at line 48 of file rz_bin_dwarf.h.

◆ DW_LNE_HP_negate_function_exit

#define DW_LNE_HP_negate_function_exit   0x18 /* 24 HP */

Definition at line 47 of file rz_bin_dwarf.h.

◆ DW_LNE_HP_negate_is_UV_update

#define DW_LNE_HP_negate_is_UV_update   0x11 /* 17 HP */

Definition at line 40 of file rz_bin_dwarf.h.

◆ DW_LNE_HP_negate_post_semantics

#define DW_LNE_HP_negate_post_semantics   0x17 /* 23 HP */

Definition at line 46 of file rz_bin_dwarf.h.

◆ DW_LNE_HP_pop_context

#define DW_LNE_HP_pop_context   0x13 /* 19 HP */

Definition at line 42 of file rz_bin_dwarf.h.

◆ DW_LNE_HP_push_context

#define DW_LNE_HP_push_context   0x12 /* 18 HP */

Definition at line 41 of file rz_bin_dwarf.h.

◆ DW_LNE_HP_set_file_line_column

#define DW_LNE_HP_set_file_line_column   0x14 /* 20 HP */

Definition at line 43 of file rz_bin_dwarf.h.

◆ DW_LNE_HP_set_routine_name

#define DW_LNE_HP_set_routine_name   0x15 /* 21 HP */

Definition at line 44 of file rz_bin_dwarf.h.

◆ DW_LNE_HP_set_sequence

#define DW_LNE_HP_set_sequence   0x16 /* 22 HP */

Definition at line 45 of file rz_bin_dwarf.h.

◆ DW_LNE_lo_user

#define DW_LNE_lo_user   0x80 /* DWARF3 */

Definition at line 36 of file rz_bin_dwarf.h.

◆ DW_LNE_set_address

#define DW_LNE_set_address   0x02

Definition at line 33 of file rz_bin_dwarf.h.

◆ DW_LNE_set_discriminator

#define DW_LNE_set_discriminator   0x04 /* DWARF4 */

Definition at line 35 of file rz_bin_dwarf.h.

◆ DW_LNS_advance_line

#define DW_LNS_advance_line   0x03

Definition at line 21 of file rz_bin_dwarf.h.

◆ DW_LNS_advance_pc

#define DW_LNS_advance_pc   0x02

Definition at line 20 of file rz_bin_dwarf.h.

◆ DW_LNS_const_add_pc

#define DW_LNS_const_add_pc   0x08

Definition at line 26 of file rz_bin_dwarf.h.

◆ DW_LNS_copy

#define DW_LNS_copy   0x01

Definition at line 19 of file rz_bin_dwarf.h.

◆ DW_LNS_fixed_advance_pc

#define DW_LNS_fixed_advance_pc   0x09

Definition at line 27 of file rz_bin_dwarf.h.

◆ DW_LNS_negate_stmt

#define DW_LNS_negate_stmt   0x06

Definition at line 24 of file rz_bin_dwarf.h.

◆ DW_LNS_set_basic_block

#define DW_LNS_set_basic_block   0x07

Definition at line 25 of file rz_bin_dwarf.h.

◆ DW_LNS_set_column

#define DW_LNS_set_column   0x05

Definition at line 23 of file rz_bin_dwarf.h.

◆ DW_LNS_set_epilogue_begin

#define DW_LNS_set_epilogue_begin   0x0b /* DWARF3 */

Definition at line 29 of file rz_bin_dwarf.h.

◆ DW_LNS_set_file

#define DW_LNS_set_file   0x04

Definition at line 22 of file rz_bin_dwarf.h.

◆ DW_LNS_set_isa

#define DW_LNS_set_isa   0x0c /* DWARF3 */

Definition at line 30 of file rz_bin_dwarf.h.

◆ DW_LNS_set_prologue_end

#define DW_LNS_set_prologue_end   0x0a /* DWARF3 */

Definition at line 28 of file rz_bin_dwarf.h.

◆ DW_MACINFO_define

#define DW_MACINFO_define   0x01

Definition at line 582 of file rz_bin_dwarf.h.

◆ DW_MACINFO_end_file

#define DW_MACINFO_end_file   0x04

Definition at line 585 of file rz_bin_dwarf.h.

◆ DW_MACINFO_start_file

#define DW_MACINFO_start_file   0x03

Definition at line 584 of file rz_bin_dwarf.h.

◆ DW_MACINFO_undef

#define DW_MACINFO_undef   0x02

Definition at line 583 of file rz_bin_dwarf.h.

◆ DW_MACINFO_vendor_ext

#define DW_MACINFO_vendor_ext   0xff

Definition at line 586 of file rz_bin_dwarf.h.

◆ DW_OP_abs

#define DW_OP_abs   0x19

Definition at line 342 of file rz_bin_dwarf.h.

◆ DW_OP_addr

#define DW_OP_addr   0x03

Definition at line 323 of file rz_bin_dwarf.h.

◆ DW_OP_and

#define DW_OP_and   0x1a

Definition at line 343 of file rz_bin_dwarf.h.

◆ DW_OP_bit_piece

#define DW_OP_bit_piece   0x9d

Definition at line 474 of file rz_bin_dwarf.h.

◆ DW_OP_bra

#define DW_OP_bra   0x28

Definition at line 358 of file rz_bin_dwarf.h.

◆ DW_OP_breg0

#define DW_OP_breg0   0x70

Definition at line 429 of file rz_bin_dwarf.h.

◆ DW_OP_breg1

#define DW_OP_breg1   0x71

Definition at line 430 of file rz_bin_dwarf.h.

◆ DW_OP_breg10

#define DW_OP_breg10   0x7a

Definition at line 439 of file rz_bin_dwarf.h.

◆ DW_OP_breg11

#define DW_OP_breg11   0x7b

Definition at line 440 of file rz_bin_dwarf.h.

◆ DW_OP_breg12

#define DW_OP_breg12   0x7c

Definition at line 441 of file rz_bin_dwarf.h.

◆ DW_OP_breg13

#define DW_OP_breg13   0x7d

Definition at line 442 of file rz_bin_dwarf.h.

◆ DW_OP_breg14

#define DW_OP_breg14   0x7e

Definition at line 443 of file rz_bin_dwarf.h.

◆ DW_OP_breg15

#define DW_OP_breg15   0x7f

Definition at line 444 of file rz_bin_dwarf.h.

◆ DW_OP_breg16

#define DW_OP_breg16   0x80

Definition at line 445 of file rz_bin_dwarf.h.

◆ DW_OP_breg17

#define DW_OP_breg17   0x81

Definition at line 446 of file rz_bin_dwarf.h.

◆ DW_OP_breg18

#define DW_OP_breg18   0x82

Definition at line 447 of file rz_bin_dwarf.h.

◆ DW_OP_breg19

#define DW_OP_breg19   0x83

Definition at line 448 of file rz_bin_dwarf.h.

◆ DW_OP_breg2

#define DW_OP_breg2   0x72

Definition at line 431 of file rz_bin_dwarf.h.

◆ DW_OP_breg20

#define DW_OP_breg20   0x84

Definition at line 449 of file rz_bin_dwarf.h.

◆ DW_OP_breg21

#define DW_OP_breg21   0x85

Definition at line 450 of file rz_bin_dwarf.h.

◆ DW_OP_breg22

#define DW_OP_breg22   0x86

Definition at line 451 of file rz_bin_dwarf.h.

◆ DW_OP_breg23

#define DW_OP_breg23   0x87

Definition at line 452 of file rz_bin_dwarf.h.

◆ DW_OP_breg24

#define DW_OP_breg24   0x88

Definition at line 453 of file rz_bin_dwarf.h.

◆ DW_OP_breg25

#define DW_OP_breg25   0x89

Definition at line 454 of file rz_bin_dwarf.h.

◆ DW_OP_breg26

#define DW_OP_breg26   0x8a

Definition at line 455 of file rz_bin_dwarf.h.

◆ DW_OP_breg27

#define DW_OP_breg27   0x8b

Definition at line 456 of file rz_bin_dwarf.h.

◆ DW_OP_breg28

#define DW_OP_breg28   0x8c

Definition at line 457 of file rz_bin_dwarf.h.

◆ DW_OP_breg29

#define DW_OP_breg29   0x8d

Definition at line 458 of file rz_bin_dwarf.h.

◆ DW_OP_breg3

#define DW_OP_breg3   0x73

Definition at line 432 of file rz_bin_dwarf.h.

◆ DW_OP_breg30

#define DW_OP_breg30   0x8e

Definition at line 459 of file rz_bin_dwarf.h.

◆ DW_OP_breg31

#define DW_OP_breg31   0x8f

Definition at line 460 of file rz_bin_dwarf.h.

◆ DW_OP_breg4

#define DW_OP_breg4   0x74

Definition at line 433 of file rz_bin_dwarf.h.

◆ DW_OP_breg5

#define DW_OP_breg5   0x75

Definition at line 434 of file rz_bin_dwarf.h.

◆ DW_OP_breg6

#define DW_OP_breg6   0x76

Definition at line 435 of file rz_bin_dwarf.h.

◆ DW_OP_breg7

#define DW_OP_breg7   0x77

Definition at line 436 of file rz_bin_dwarf.h.

◆ DW_OP_breg8

#define DW_OP_breg8   0x78

Definition at line 437 of file rz_bin_dwarf.h.

◆ DW_OP_breg9

#define DW_OP_breg9   0x79

Definition at line 438 of file rz_bin_dwarf.h.

◆ DW_OP_bregx

#define DW_OP_bregx   0x92

Definition at line 463 of file rz_bin_dwarf.h.

◆ DW_OP_call2

#define DW_OP_call2   0x98

Definition at line 469 of file rz_bin_dwarf.h.

◆ DW_OP_call4

#define DW_OP_call4   0x99

Definition at line 470 of file rz_bin_dwarf.h.

◆ DW_OP_call_frame_cfa

#define DW_OP_call_frame_cfa   0x9c

Definition at line 473 of file rz_bin_dwarf.h.

◆ DW_OP_call_ref

#define DW_OP_call_ref   0x9a

Definition at line 471 of file rz_bin_dwarf.h.

◆ DW_OP_const1s

#define DW_OP_const1s   0x09

Definition at line 326 of file rz_bin_dwarf.h.

◆ DW_OP_const1u

#define DW_OP_const1u   0x08

Definition at line 325 of file rz_bin_dwarf.h.

◆ DW_OP_const2s

#define DW_OP_const2s   0x0b

Definition at line 328 of file rz_bin_dwarf.h.

◆ DW_OP_const2u

#define DW_OP_const2u   0x0a

Definition at line 327 of file rz_bin_dwarf.h.

◆ DW_OP_const4s

#define DW_OP_const4s   0x0d

Definition at line 330 of file rz_bin_dwarf.h.

◆ DW_OP_const4u

#define DW_OP_const4u   0x0c

Definition at line 329 of file rz_bin_dwarf.h.

◆ DW_OP_const8s

#define DW_OP_const8s   0x0f

Definition at line 332 of file rz_bin_dwarf.h.

◆ DW_OP_const8u

#define DW_OP_const8u   0x0e

Definition at line 331 of file rz_bin_dwarf.h.

◆ DW_OP_consts

#define DW_OP_consts   0x11

Definition at line 334 of file rz_bin_dwarf.h.

◆ DW_OP_constu

#define DW_OP_constu   0x10

Definition at line 333 of file rz_bin_dwarf.h.

◆ DW_OP_deref

#define DW_OP_deref   0x06

Definition at line 324 of file rz_bin_dwarf.h.

◆ DW_OP_deref_size

#define DW_OP_deref_size   0x94

Definition at line 465 of file rz_bin_dwarf.h.

◆ DW_OP_div

#define DW_OP_div   0x1b

Definition at line 344 of file rz_bin_dwarf.h.

◆ DW_OP_drop

#define DW_OP_drop   0x13

Definition at line 336 of file rz_bin_dwarf.h.

◆ DW_OP_dup

#define DW_OP_dup   0x12

Definition at line 335 of file rz_bin_dwarf.h.

◆ DW_OP_eq

#define DW_OP_eq   0x29

Definition at line 359 of file rz_bin_dwarf.h.

◆ DW_OP_fbreg

#define DW_OP_fbreg   0x91

Definition at line 462 of file rz_bin_dwarf.h.

◆ DW_OP_form_tls_address

#define DW_OP_form_tls_address   0x9b

Definition at line 472 of file rz_bin_dwarf.h.

◆ DW_OP_ge

#define DW_OP_ge   0x2a

Definition at line 360 of file rz_bin_dwarf.h.

◆ DW_OP_gt

#define DW_OP_gt   0x2b

Definition at line 361 of file rz_bin_dwarf.h.

◆ DW_OP_hi_user

#define DW_OP_hi_user   0xff

Definition at line 480 of file rz_bin_dwarf.h.

◆ DW_OP_implicit_value

#define DW_OP_implicit_value   0x9e

Definition at line 475 of file rz_bin_dwarf.h.

◆ DW_OP_le

#define DW_OP_le   0x2c

Definition at line 362 of file rz_bin_dwarf.h.

◆ DW_OP_lit0

#define DW_OP_lit0   0x30

Definition at line 365 of file rz_bin_dwarf.h.

◆ DW_OP_lit1

#define DW_OP_lit1   0x31

Definition at line 366 of file rz_bin_dwarf.h.

◆ DW_OP_lit10

#define DW_OP_lit10   0x3a

Definition at line 375 of file rz_bin_dwarf.h.

◆ DW_OP_lit11

#define DW_OP_lit11   0x3b

Definition at line 376 of file rz_bin_dwarf.h.

◆ DW_OP_lit12

#define DW_OP_lit12   0x3c

Definition at line 377 of file rz_bin_dwarf.h.

◆ DW_OP_lit13

#define DW_OP_lit13   0x3d

Definition at line 378 of file rz_bin_dwarf.h.

◆ DW_OP_lit14

#define DW_OP_lit14   0x3e

Definition at line 379 of file rz_bin_dwarf.h.

◆ DW_OP_lit15

#define DW_OP_lit15   0x3f

Definition at line 380 of file rz_bin_dwarf.h.

◆ DW_OP_lit16

#define DW_OP_lit16   0x40

Definition at line 381 of file rz_bin_dwarf.h.

◆ DW_OP_lit17

#define DW_OP_lit17   0x41

Definition at line 382 of file rz_bin_dwarf.h.

◆ DW_OP_lit18

#define DW_OP_lit18   0x42

Definition at line 383 of file rz_bin_dwarf.h.

◆ DW_OP_lit19

#define DW_OP_lit19   0x43

Definition at line 384 of file rz_bin_dwarf.h.

◆ DW_OP_lit2

#define DW_OP_lit2   0x32

Definition at line 367 of file rz_bin_dwarf.h.

◆ DW_OP_lit20

#define DW_OP_lit20   0x44

Definition at line 385 of file rz_bin_dwarf.h.

◆ DW_OP_lit21

#define DW_OP_lit21   0x45

Definition at line 386 of file rz_bin_dwarf.h.

◆ DW_OP_lit22

#define DW_OP_lit22   0x46

Definition at line 387 of file rz_bin_dwarf.h.

◆ DW_OP_lit23

#define DW_OP_lit23   0x47

Definition at line 388 of file rz_bin_dwarf.h.

◆ DW_OP_lit24

#define DW_OP_lit24   0x48

Definition at line 389 of file rz_bin_dwarf.h.

◆ DW_OP_lit25

#define DW_OP_lit25   0x49

Definition at line 390 of file rz_bin_dwarf.h.

◆ DW_OP_lit26

#define DW_OP_lit26   0x4a

Definition at line 391 of file rz_bin_dwarf.h.

◆ DW_OP_lit27

#define DW_OP_lit27   0x4b

Definition at line 392 of file rz_bin_dwarf.h.

◆ DW_OP_lit28

#define DW_OP_lit28   0x4c

Definition at line 393 of file rz_bin_dwarf.h.

◆ DW_OP_lit29

#define DW_OP_lit29   0x4d

Definition at line 394 of file rz_bin_dwarf.h.

◆ DW_OP_lit3

#define DW_OP_lit3   0x33

Definition at line 368 of file rz_bin_dwarf.h.

◆ DW_OP_lit30

#define DW_OP_lit30   0x4e

Definition at line 395 of file rz_bin_dwarf.h.

◆ DW_OP_lit31

#define DW_OP_lit31   0x4f

Definition at line 396 of file rz_bin_dwarf.h.

◆ DW_OP_lit4

#define DW_OP_lit4   0x34

Definition at line 369 of file rz_bin_dwarf.h.

◆ DW_OP_lit5

#define DW_OP_lit5   0x35

Definition at line 370 of file rz_bin_dwarf.h.

◆ DW_OP_lit6

#define DW_OP_lit6   0x36

Definition at line 371 of file rz_bin_dwarf.h.

◆ DW_OP_lit7

#define DW_OP_lit7   0x37

Definition at line 372 of file rz_bin_dwarf.h.

◆ DW_OP_lit8

#define DW_OP_lit8   0x38

Definition at line 373 of file rz_bin_dwarf.h.

◆ DW_OP_lit9

#define DW_OP_lit9   0x39

Definition at line 374 of file rz_bin_dwarf.h.

◆ DW_OP_lo_user

#define DW_OP_lo_user   0xe0

Definition at line 479 of file rz_bin_dwarf.h.

◆ DW_OP_lt

#define DW_OP_lt   0x2d

Definition at line 363 of file rz_bin_dwarf.h.

◆ DW_OP_minus

#define DW_OP_minus   0x1c

Definition at line 345 of file rz_bin_dwarf.h.

◆ DW_OP_mod

#define DW_OP_mod   0x1d

Definition at line 346 of file rz_bin_dwarf.h.

◆ DW_OP_mul

#define DW_OP_mul   0x1e

Definition at line 347 of file rz_bin_dwarf.h.

◆ DW_OP_ne

#define DW_OP_ne   0x2e

Definition at line 364 of file rz_bin_dwarf.h.

◆ DW_OP_neg

#define DW_OP_neg   0x1f

Definition at line 348 of file rz_bin_dwarf.h.

◆ DW_OP_nop

#define DW_OP_nop   0x96

Definition at line 467 of file rz_bin_dwarf.h.

◆ DW_OP_not

#define DW_OP_not   0x20

Definition at line 349 of file rz_bin_dwarf.h.

◆ DW_OP_or

#define DW_OP_or   0x21

Definition at line 350 of file rz_bin_dwarf.h.

◆ DW_OP_over

#define DW_OP_over   0x14

Definition at line 337 of file rz_bin_dwarf.h.

◆ DW_OP_pick

#define DW_OP_pick   0x15

Definition at line 338 of file rz_bin_dwarf.h.

◆ DW_OP_piece

#define DW_OP_piece   0x93

Definition at line 464 of file rz_bin_dwarf.h.

◆ DW_OP_plus

#define DW_OP_plus   0x22

Definition at line 351 of file rz_bin_dwarf.h.

◆ DW_OP_plus_uconst

#define DW_OP_plus_uconst   0x23

Definition at line 352 of file rz_bin_dwarf.h.

◆ DW_OP_push_object_address

#define DW_OP_push_object_address   0x97

Definition at line 468 of file rz_bin_dwarf.h.

◆ DW_OP_reg0

#define DW_OP_reg0   0x50

Definition at line 397 of file rz_bin_dwarf.h.

◆ DW_OP_reg1

#define DW_OP_reg1   0x51

Definition at line 398 of file rz_bin_dwarf.h.

◆ DW_OP_reg10

#define DW_OP_reg10   0x5a

Definition at line 407 of file rz_bin_dwarf.h.

◆ DW_OP_reg11

#define DW_OP_reg11   0x5b

Definition at line 408 of file rz_bin_dwarf.h.

◆ DW_OP_reg12

#define DW_OP_reg12   0x5c

Definition at line 409 of file rz_bin_dwarf.h.

◆ DW_OP_reg13

#define DW_OP_reg13   0x5d

Definition at line 410 of file rz_bin_dwarf.h.

◆ DW_OP_reg14

#define DW_OP_reg14   0x5e

Definition at line 411 of file rz_bin_dwarf.h.

◆ DW_OP_reg15

#define DW_OP_reg15   0x5f

Definition at line 412 of file rz_bin_dwarf.h.

◆ DW_OP_reg16

#define DW_OP_reg16   0x60

Definition at line 413 of file rz_bin_dwarf.h.

◆ DW_OP_reg17

#define DW_OP_reg17   0x61

Definition at line 414 of file rz_bin_dwarf.h.

◆ DW_OP_reg18

#define DW_OP_reg18   0x62

Definition at line 415 of file rz_bin_dwarf.h.

◆ DW_OP_reg19

#define DW_OP_reg19   0x63

Definition at line 416 of file rz_bin_dwarf.h.

◆ DW_OP_reg2

#define DW_OP_reg2   0x52

Definition at line 399 of file rz_bin_dwarf.h.

◆ DW_OP_reg20

#define DW_OP_reg20   0x64

Definition at line 417 of file rz_bin_dwarf.h.

◆ DW_OP_reg21

#define DW_OP_reg21   0x65

Definition at line 418 of file rz_bin_dwarf.h.

◆ DW_OP_reg22

#define DW_OP_reg22   0x66

Definition at line 419 of file rz_bin_dwarf.h.

◆ DW_OP_reg23

#define DW_OP_reg23   0x67

Definition at line 420 of file rz_bin_dwarf.h.

◆ DW_OP_reg24

#define DW_OP_reg24   0x68

Definition at line 421 of file rz_bin_dwarf.h.

◆ DW_OP_reg25

#define DW_OP_reg25   0x69

Definition at line 422 of file rz_bin_dwarf.h.

◆ DW_OP_reg26

#define DW_OP_reg26   0x6a

Definition at line 423 of file rz_bin_dwarf.h.

◆ DW_OP_reg27

#define DW_OP_reg27   0x6b

Definition at line 424 of file rz_bin_dwarf.h.

◆ DW_OP_reg28

#define DW_OP_reg28   0x6c

Definition at line 425 of file rz_bin_dwarf.h.

◆ DW_OP_reg29

#define DW_OP_reg29   0x6d

Definition at line 426 of file rz_bin_dwarf.h.

◆ DW_OP_reg3

#define DW_OP_reg3   0x53

Definition at line 400 of file rz_bin_dwarf.h.

◆ DW_OP_reg30

#define DW_OP_reg30   0x6e

Definition at line 427 of file rz_bin_dwarf.h.

◆ DW_OP_reg31

#define DW_OP_reg31   0x6f

Definition at line 428 of file rz_bin_dwarf.h.

◆ DW_OP_reg4

#define DW_OP_reg4   0x54

Definition at line 401 of file rz_bin_dwarf.h.

◆ DW_OP_reg5

#define DW_OP_reg5   0x55

Definition at line 402 of file rz_bin_dwarf.h.

◆ DW_OP_reg6

#define DW_OP_reg6   0x56

Definition at line 403 of file rz_bin_dwarf.h.

◆ DW_OP_reg7

#define DW_OP_reg7   0x57

Definition at line 404 of file rz_bin_dwarf.h.

◆ DW_OP_reg8

#define DW_OP_reg8   0x58

Definition at line 405 of file rz_bin_dwarf.h.

◆ DW_OP_reg9

#define DW_OP_reg9   0x59

Definition at line 406 of file rz_bin_dwarf.h.

◆ DW_OP_regx

#define DW_OP_regx   0x90

Definition at line 461 of file rz_bin_dwarf.h.

◆ DW_OP_rot

#define DW_OP_rot   0x17

Definition at line 340 of file rz_bin_dwarf.h.

◆ DW_OP_shl

#define DW_OP_shl   0x24

Definition at line 353 of file rz_bin_dwarf.h.

◆ DW_OP_shr

#define DW_OP_shr   0x25

Definition at line 354 of file rz_bin_dwarf.h.

◆ DW_OP_shra

#define DW_OP_shra   0x26

Definition at line 355 of file rz_bin_dwarf.h.

◆ DW_OP_skip

#define DW_OP_skip   0x2f

Definition at line 357 of file rz_bin_dwarf.h.

◆ DW_OP_stack_value

#define DW_OP_stack_value   0x9f

Definition at line 476 of file rz_bin_dwarf.h.

◆ DW_OP_swap

#define DW_OP_swap   0x16

Definition at line 339 of file rz_bin_dwarf.h.

◆ DW_OP_xderef

#define DW_OP_xderef   0x18

Definition at line 341 of file rz_bin_dwarf.h.

◆ DW_OP_xderef_size

#define DW_OP_xderef_size   0x95

Definition at line 466 of file rz_bin_dwarf.h.

◆ DW_OP_xor

#define DW_OP_xor   0x27

Definition at line 356 of file rz_bin_dwarf.h.

◆ DW_ORD_col_major

#define DW_ORD_col_major   0x01

Definition at line 577 of file rz_bin_dwarf.h.

◆ DW_ORD_row_major

#define DW_ORD_row_major   0x00

Definition at line 576 of file rz_bin_dwarf.h.

◆ DW_TAG_access_declaration

#define DW_TAG_access_declaration   0x23

Definition at line 83 of file rz_bin_dwarf.h.

◆ DW_TAG_array_type

#define DW_TAG_array_type   0x01

Definition at line 55 of file rz_bin_dwarf.h.

◆ DW_TAG_base_type

#define DW_TAG_base_type   0x24

Definition at line 84 of file rz_bin_dwarf.h.

◆ DW_TAG_catch_block

#define DW_TAG_catch_block   0x25

Definition at line 85 of file rz_bin_dwarf.h.

◆ DW_TAG_class_type

#define DW_TAG_class_type   0x02

Definition at line 56 of file rz_bin_dwarf.h.

◆ DW_TAG_common_block

#define DW_TAG_common_block   0x1a

Definition at line 74 of file rz_bin_dwarf.h.

◆ DW_TAG_common_inclusion

#define DW_TAG_common_inclusion   0x1b

Definition at line 75 of file rz_bin_dwarf.h.

◆ DW_TAG_compile_unit

#define DW_TAG_compile_unit   0x11

Definition at line 66 of file rz_bin_dwarf.h.

◆ DW_TAG_condition

#define DW_TAG_condition   0x3f /* DWARF3f */

Definition at line 119 of file rz_bin_dwarf.h.

◆ DW_TAG_const_type

#define DW_TAG_const_type   0x26

Definition at line 86 of file rz_bin_dwarf.h.

◆ DW_TAG_constant

#define DW_TAG_constant   0x27

Definition at line 87 of file rz_bin_dwarf.h.

◆ DW_TAG_dwarf_procedure

#define DW_TAG_dwarf_procedure   0x36 /* DWARF3 */

Definition at line 109 of file rz_bin_dwarf.h.

◆ DW_TAG_entry_point

#define DW_TAG_entry_point   0x03

Definition at line 57 of file rz_bin_dwarf.h.

◆ DW_TAG_enumeration_type

#define DW_TAG_enumeration_type   0x04

Definition at line 58 of file rz_bin_dwarf.h.

◆ DW_TAG_enumerator

#define DW_TAG_enumerator   0x28

Definition at line 88 of file rz_bin_dwarf.h.

◆ DW_TAG_file_type

#define DW_TAG_file_type   0x29

Definition at line 89 of file rz_bin_dwarf.h.

◆ DW_TAG_formal_parameter

#define DW_TAG_formal_parameter   0x05

Definition at line 59 of file rz_bin_dwarf.h.

◆ DW_TAG_friend

#define DW_TAG_friend   0x2a

Definition at line 90 of file rz_bin_dwarf.h.

◆ DW_TAG_hi_user

#define DW_TAG_hi_user   0xffff

Definition at line 128 of file rz_bin_dwarf.h.

◆ DW_TAG_imported_declaration

#define DW_TAG_imported_declaration   0x08

Definition at line 60 of file rz_bin_dwarf.h.

◆ DW_TAG_imported_module

#define DW_TAG_imported_module   0x3a /* DWARF3 */

Definition at line 113 of file rz_bin_dwarf.h.

◆ DW_TAG_imported_unit

#define DW_TAG_imported_unit   0x3d /* DWARF3 */

Definition at line 116 of file rz_bin_dwarf.h.

◆ DW_TAG_inheritance

#define DW_TAG_inheritance   0x1c

Definition at line 76 of file rz_bin_dwarf.h.

◆ DW_TAG_inlined_subroutine

#define DW_TAG_inlined_subroutine   0x1d

Definition at line 77 of file rz_bin_dwarf.h.

◆ DW_TAG_interface_type

#define DW_TAG_interface_type   0x38 /* DWARF3 */

Definition at line 111 of file rz_bin_dwarf.h.

◆ DW_TAG_label

#define DW_TAG_label   0x0a

Definition at line 61 of file rz_bin_dwarf.h.

◆ DW_TAG_LAST

#define DW_TAG_LAST   0x44

Definition at line 125 of file rz_bin_dwarf.h.

◆ DW_TAG_lexical_block

#define DW_TAG_lexical_block   0x0b

Definition at line 62 of file rz_bin_dwarf.h.

◆ DW_TAG_lo_user

#define DW_TAG_lo_user   0x4080

Definition at line 127 of file rz_bin_dwarf.h.

◆ DW_TAG_member

#define DW_TAG_member   0x0d

Definition at line 63 of file rz_bin_dwarf.h.

◆ DW_TAG_module

#define DW_TAG_module   0x1e

Definition at line 78 of file rz_bin_dwarf.h.

◆ DW_TAG_mutable_type

#define DW_TAG_mutable_type   0x3e /* Withdrawn from DWARF3 by DWARF3f. */

Definition at line 118 of file rz_bin_dwarf.h.

◆ DW_TAG_namelist

#define DW_TAG_namelist   0x2b

Definition at line 91 of file rz_bin_dwarf.h.

◆ DW_TAG_namelist_item

#define DW_TAG_namelist_item   0x2c /* DWARF3/2 spelling */

Definition at line 94 of file rz_bin_dwarf.h.

◆ DW_TAG_namelist_items

#define DW_TAG_namelist_items   0x2c /* SGI misspelling/typo */

Definition at line 95 of file rz_bin_dwarf.h.

◆ DW_TAG_namespace

#define DW_TAG_namespace   0x39 /* DWARF3 */

Definition at line 112 of file rz_bin_dwarf.h.

◆ DW_TAG_null_entry

#define DW_TAG_null_entry   0x00

Definition at line 54 of file rz_bin_dwarf.h.

◆ DW_TAG_packed_type

#define DW_TAG_packed_type   0x2d

Definition at line 96 of file rz_bin_dwarf.h.

◆ DW_TAG_partial_unit

#define DW_TAG_partial_unit   0x3c /* DWARF3 */

Definition at line 115 of file rz_bin_dwarf.h.

◆ DW_TAG_pointer_type

#define DW_TAG_pointer_type   0x0f

Definition at line 64 of file rz_bin_dwarf.h.

◆ DW_TAG_ptr_to_member_type

#define DW_TAG_ptr_to_member_type   0x1f

Definition at line 79 of file rz_bin_dwarf.h.

◆ DW_TAG_reference_type

#define DW_TAG_reference_type   0x10

Definition at line 65 of file rz_bin_dwarf.h.

◆ DW_TAG_restrict_type

#define DW_TAG_restrict_type   0x37 /* DWARF3 */

Definition at line 110 of file rz_bin_dwarf.h.

◆ DW_TAG_rvalue_reference_type

#define DW_TAG_rvalue_reference_type   0x42 /* DWARF4 */

Definition at line 122 of file rz_bin_dwarf.h.

◆ DW_TAG_set_type

#define DW_TAG_set_type   0x20

Definition at line 80 of file rz_bin_dwarf.h.

◆ DW_TAG_shared_type

#define DW_TAG_shared_type   0x40 /* DWARF3f */

Definition at line 120 of file rz_bin_dwarf.h.

◆ DW_TAG_string_type

#define DW_TAG_string_type   0x12

Definition at line 67 of file rz_bin_dwarf.h.

◆ DW_TAG_structure_type

#define DW_TAG_structure_type   0x13

Definition at line 68 of file rz_bin_dwarf.h.

◆ DW_TAG_subprogram

#define DW_TAG_subprogram   0x2e

Definition at line 97 of file rz_bin_dwarf.h.

◆ DW_TAG_subrange_type

#define DW_TAG_subrange_type   0x21

Definition at line 81 of file rz_bin_dwarf.h.

◆ DW_TAG_subroutine_type

#define DW_TAG_subroutine_type   0x15

Definition at line 69 of file rz_bin_dwarf.h.

◆ DW_TAG_template_alias

#define DW_TAG_template_alias   0x43 /* DWARF4 */

Definition at line 123 of file rz_bin_dwarf.h.

◆ DW_TAG_template_type_param

#define DW_TAG_template_type_param   0x2f /* DWARF2 spelling*/

Definition at line 101 of file rz_bin_dwarf.h.

◆ DW_TAG_template_type_parameter

#define DW_TAG_template_type_parameter   0x2f /* DWARF3/2 spelling*/

Definition at line 100 of file rz_bin_dwarf.h.

◆ DW_TAG_template_value_param

#define DW_TAG_template_value_param   0x30 /* DWARF2 spelling*/

Definition at line 103 of file rz_bin_dwarf.h.

◆ DW_TAG_template_value_parameter

#define DW_TAG_template_value_parameter   0x30 /* DWARF3/2 spelling*/

Definition at line 102 of file rz_bin_dwarf.h.

◆ DW_TAG_thrown_type

#define DW_TAG_thrown_type   0x31

Definition at line 104 of file rz_bin_dwarf.h.

◆ DW_TAG_try_block

#define DW_TAG_try_block   0x32

Definition at line 105 of file rz_bin_dwarf.h.

◆ DW_TAG_type_unit

#define DW_TAG_type_unit   0x41 /* DWARF4 */

Definition at line 121 of file rz_bin_dwarf.h.

◆ DW_TAG_typedef

#define DW_TAG_typedef   0x16

Definition at line 70 of file rz_bin_dwarf.h.

◆ DW_TAG_union_type

#define DW_TAG_union_type   0x17

Definition at line 71 of file rz_bin_dwarf.h.

◆ DW_TAG_unspecified_parameters

#define DW_TAG_unspecified_parameters   0x18

Definition at line 72 of file rz_bin_dwarf.h.

◆ DW_TAG_unspecified_type

#define DW_TAG_unspecified_type   0x3b /* DWARF3 */

Definition at line 114 of file rz_bin_dwarf.h.

◆ DW_TAG_variable

#define DW_TAG_variable   0x34

Definition at line 107 of file rz_bin_dwarf.h.

◆ DW_TAG_variant

#define DW_TAG_variant   0x19

Definition at line 73 of file rz_bin_dwarf.h.

◆ DW_TAG_variant_part

#define DW_TAG_variant_part   0x33

Definition at line 106 of file rz_bin_dwarf.h.

◆ DW_TAG_volatile_type

#define DW_TAG_volatile_type   0x35

Definition at line 108 of file rz_bin_dwarf.h.

◆ DW_TAG_with_stmt

#define DW_TAG_with_stmt   0x22

Definition at line 82 of file rz_bin_dwarf.h.

◆ DW_UT_compile

#define DW_UT_compile   0x01

Definition at line 618 of file rz_bin_dwarf.h.

◆ DW_UT_hi_user

#define DW_UT_hi_user   0xff

Definition at line 625 of file rz_bin_dwarf.h.

◆ DW_UT_lo_user

#define DW_UT_lo_user   0x80

Definition at line 624 of file rz_bin_dwarf.h.

◆ DW_UT_partial

#define DW_UT_partial   0x03

Definition at line 620 of file rz_bin_dwarf.h.

◆ DW_UT_skeleton

#define DW_UT_skeleton   0x04

Definition at line 621 of file rz_bin_dwarf.h.

◆ DW_UT_split_compile

#define DW_UT_split_compile   0x05

Definition at line 622 of file rz_bin_dwarf.h.

◆ DW_UT_split_type

#define DW_UT_split_type   0x06

Definition at line 623 of file rz_bin_dwarf.h.

◆ DW_UT_type

#define DW_UT_type   0x02

Definition at line 619 of file rz_bin_dwarf.h.

◆ DW_VIRTUALITY_none

#define DW_VIRTUALITY_none   0x00

Definition at line 525 of file rz_bin_dwarf.h.

◆ DW_VIRTUALITY_pure_virtual

#define DW_VIRTUALITY_pure_virtual   0x02

Definition at line 527 of file rz_bin_dwarf.h.

◆ DW_VIRTUALITY_virtual

#define DW_VIRTUALITY_virtual   0x01

Definition at line 526 of file rz_bin_dwarf.h.

◆ DW_VIS_exported

#define DW_VIS_exported   0x02

Definition at line 522 of file rz_bin_dwarf.h.

◆ DW_VIS_local

#define DW_VIS_local   0x01

Definition at line 521 of file rz_bin_dwarf.h.

◆ DW_VIS_qualified

#define DW_VIS_qualified   0x03

Definition at line 523 of file rz_bin_dwarf.h.

◆ DWARF_FALSE

#define DWARF_FALSE   0

Definition at line 804 of file rz_bin_dwarf.h.

◆ DWARF_INIT_LEN_64

#define DWARF_INIT_LEN_64   0xffffffff

Definition at line 652 of file rz_bin_dwarf.h.

◆ DWARF_TRUE

#define DWARF_TRUE   1

Definition at line 805 of file rz_bin_dwarf.h.

◆ LOP_DISCARD

#define LOP_DISCARD   2

Definition at line 15 of file rz_bin_dwarf.h.

◆ LOP_EXTENDED

#define LOP_EXTENDED   1

Definition at line 14 of file rz_bin_dwarf.h.

◆ LOP_SPECIAL

#define LOP_SPECIAL   4

Definition at line 17 of file rz_bin_dwarf.h.

◆ LOP_STANDARD

#define LOP_STANDARD   3

Definition at line 16 of file rz_bin_dwarf.h.

◆ RZ_BIN_DWARF_INFO_HEADER_FILE_LENGTH

#define RZ_BIN_DWARF_INFO_HEADER_FILE_LENGTH (   x)    (sizeof(x->file) / sizeof(*(x->file)))

Definition at line 640 of file rz_bin_dwarf.h.

◆ rz_bin_dwarf_line_new

#define rz_bin_dwarf_line_new (   o,
  a,
  f,
 
)    o->address = a, o->file = strdup(f ? f : ""), o->line = l, o->column = 0, o

Definition at line 942 of file rz_bin_dwarf.h.

◆ RZ_BIN_DWARF_LINE_OP_STD_ARGS_MAX

#define RZ_BIN_DWARF_LINE_OP_STD_ARGS_MAX   1

Definition at line 864 of file rz_bin_dwarf.h.

Typedef Documentation

◆ RzBinDwarfARange

◆ RzBinDwarfARangeSet

DWARF 3 Standard Section 6.1.2 Lookup by Address.

◆ RzBinDwarfAttrValue

◆ RzBinDwarfLineFileCache

typedef char** RzBinDwarfLineFileCache

Opaque cache for fully resolved filenames during Dwarf Line Info Generation This cache stores full file paths to be optionally used in rz_bin_dwarf_line_op_run(). It is strictly associated with the RzBinDwarfLineHeader it has been created with in rz_bin_dwarf_line_header_new_file_cache() and must be freed with the same header in rz_bin_dwarf_line_header_free_file_cache().

Definition at line 965 of file rz_bin_dwarf.h.

◆ RzBinDwarfLineFileEntry

◆ RzBinDwarfLocList

◆ RzBinDwarfLocRange

Enumeration Type Documentation

◆ RzBinDwarfAttrKind

Enumerator
DW_AT_KIND_ADDRESS 
DW_AT_KIND_BLOCK 
DW_AT_KIND_CONSTANT 
DW_AT_KIND_EXPRLOC 
DW_AT_KIND_FLAG 
DW_AT_KIND_LINEPTR 
DW_AT_KIND_LOCLISTPTR 
DW_AT_KIND_MACPTR 
DW_AT_KIND_RANGELISTPTR 
DW_AT_KIND_REFERENCE 
DW_AT_KIND_STRING 

Definition at line 687 of file rz_bin_dwarf.h.

687  {
RzBinDwarfAttrKind
Definition: rz_bin_dwarf.h:687
@ DW_AT_KIND_LINEPTR
Definition: rz_bin_dwarf.h:693
@ DW_AT_KIND_STRING
Definition: rz_bin_dwarf.h:698
@ DW_AT_KIND_REFERENCE
Definition: rz_bin_dwarf.h:697
@ DW_AT_KIND_BLOCK
Definition: rz_bin_dwarf.h:689
@ DW_AT_KIND_RANGELISTPTR
Definition: rz_bin_dwarf.h:696
@ DW_AT_KIND_CONSTANT
Definition: rz_bin_dwarf.h:690
@ DW_AT_KIND_ADDRESS
Definition: rz_bin_dwarf.h:688
@ DW_AT_KIND_FLAG
Definition: rz_bin_dwarf.h:692
@ DW_AT_KIND_MACPTR
Definition: rz_bin_dwarf.h:695
@ DW_AT_KIND_EXPRLOC
Definition: rz_bin_dwarf.h:691
@ DW_AT_KIND_LOCLISTPTR
Definition: rz_bin_dwarf.h:694

◆ RzBinDwarfLineInfoMask

Enumerator
RZ_BIN_DWARF_LINE_INFO_MASK_BASIC 
RZ_BIN_DWARF_LINE_INFO_MASK_OPS 
RZ_BIN_DWARF_LINE_INFO_MASK_LINES 

Definition at line 906 of file rz_bin_dwarf.h.

906  {
907  RZ_BIN_DWARF_LINE_INFO_MASK_BASIC = 0x0, //< parse just the headers
908  RZ_BIN_DWARF_LINE_INFO_MASK_OPS = 0x1, //< decode and output all instructions
909  RZ_BIN_DWARF_LINE_INFO_MASK_LINES = 0x2 //< run instructions and output the resulting line infos
RzBinDwarfLineInfoMask
Definition: rz_bin_dwarf.h:906
@ RZ_BIN_DWARF_LINE_INFO_MASK_BASIC
Definition: rz_bin_dwarf.h:907
@ RZ_BIN_DWARF_LINE_INFO_MASK_OPS
Definition: rz_bin_dwarf.h:908
@ RZ_BIN_DWARF_LINE_INFO_MASK_LINES
Definition: rz_bin_dwarf.h:909

◆ RzBinDwarfLineOpType

Enumerator
RZ_BIN_DWARF_LINE_OP_TYPE_SPEC 
RZ_BIN_DWARF_LINE_OP_TYPE_STD 
RZ_BIN_DWARF_LINE_OP_TYPE_EXT 

Definition at line 858 of file rz_bin_dwarf.h.

858  {
859  RZ_BIN_DWARF_LINE_OP_TYPE_SPEC, //< single byte op, no args
860  RZ_BIN_DWARF_LINE_OP_TYPE_STD, //< fixed-size op, 0 or more leb128 args (except DW_LNS_fixed_advance_pc)
861  RZ_BIN_DWARF_LINE_OP_TYPE_EXT //< variable-size op, arbitrary format of args
RzBinDwarfLineOpType
Definition: rz_bin_dwarf.h:858
@ RZ_BIN_DWARF_LINE_OP_TYPE_SPEC
Definition: rz_bin_dwarf.h:859
@ RZ_BIN_DWARF_LINE_OP_TYPE_EXT
Definition: rz_bin_dwarf.h:861
@ RZ_BIN_DWARF_LINE_OP_TYPE_STD
Definition: rz_bin_dwarf.h:860

Function Documentation

◆ rz_bin_dwarf_arange_set_free()

RZ_API void rz_bin_dwarf_arange_set_free ( RzBinDwarfARangeSet set)

Definition at line 1106 of file dwarf.c.

1106  {
1107  if (!set) {
1108  return;
1109  }
1110  free(set->aranges);
1111  free(set);
1112 }
RZ_API void Ht_() free(HtName_(Ht) *ht)
Definition: ht_inc.c:130
RzBinDwarfARange * aranges
Definition: rz_bin_dwarf.h:939

References rz_bin_dwarf_arange_set_t::aranges, and free().

Referenced by parse_aranges_raw().

◆ rz_bin_dwarf_attr_value_get_string_content()

static const char* rz_bin_dwarf_attr_value_get_string_content ( const RzBinDwarfAttrValue val)
inlinestatic

Safely get the string content from an RzBinDwarfAttrValue if it has one.

Definition at line 725 of file rz_bin_dwarf.h.

725  {
727  return val->kind == DW_AT_KIND_STRING ? val->string.content : NULL;
728 }
ut16 val
Definition: armass64_const.h:6
#define NULL
Definition: cris-opc.c:27
#define rz_return_val_if_fail(expr, val)
Definition: rz_assert.h:108

References DW_AT_KIND_STRING, NULL, rz_return_val_if_fail, and val.

Referenced by get_die_name(), get_specification_die_name(), and parse_atomic_type().

◆ rz_bin_dwarf_debug_abbrev_free()

RZ_API void rz_bin_dwarf_debug_abbrev_free ( RzBinDwarfDebugAbbrev da)

Definition at line 1340 of file dwarf.c.

1340  {
1341  size_t i;
1342  if (!da) {
1343  return;
1344  }
1345  for (i = 0; i < da->count; i++) {
1346  RZ_FREE(da->decls[i].defs);
1347  }
1348  RZ_FREE(da->decls);
1349  free(da);
1350 }
lzma_index ** i
Definition: index.h:629
#define RZ_FREE(x)
Definition: rz_types.h:369
RzBinDwarfAttrDef * defs
Definition: rz_bin_dwarf.h:793
RzBinDwarfAbbrevDecl * decls
Definition: rz_bin_dwarf.h:801

References RzBinDwarfDebugAbbrev::count, RzBinDwarfDebugAbbrev::decls, RzBinDwarfAbbrevDecl::defs, free(), i, and RZ_FREE.

Referenced by bin_dwarf(), and rz_core_bin_apply_dwarf().

◆ rz_bin_dwarf_debug_info_free()

RZ_API void rz_bin_dwarf_debug_info_free ( RzBinDwarfDebugInfo inf)

Definition at line 1407 of file dwarf.c.

1407  {
1408  if (!inf) {
1409  return;
1410  }
1411  for (size_t i = 0; i < inf->count; i++) {
1412  free_comp_unit(&inf->comp_units[i]);
1413  }
1414  ht_up_free(inf->line_info_offset_comp_dir);
1415  ht_up_free(inf->lookup_table);
1416  free(inf->comp_units);
1417  free(inf);
1418 }
static void free_comp_unit(RzBinDwarfCompUnit *cu)
Definition: dwarf.c:1394
int inf(FILE *source, FILE *dest)
Definition: zpipe.c:92

References free(), free_comp_unit(), i, and inf().

Referenced by bin_dwarf(), parse_info_raw(), rz_bin_dwarf_parse_info(), and rz_core_bin_apply_dwarf().

◆ rz_bin_dwarf_get_attr_form_name()

RZ_API const char* rz_bin_dwarf_get_attr_form_name ( ut64  form_code)

Definition at line 373 of file dwarf.c.

373  {
374  if (form_code < DW_FORM_addr || form_code > DW_FORM_addrx4) {
375  return NULL;
376  }
377  return dwarf_attr_form_encodings[form_code];
378 }
static const char * dwarf_attr_form_encodings[]
Definition: dwarf.c:228
#define DW_FORM_addrx4
Definition: rz_bin_dwarf.h:321

References DW_FORM_addrx4, dwarf_attr_form_encodings, and NULL.

Referenced by rz_core_bin_dwarf_print_abbrev_section().

◆ rz_bin_dwarf_get_attr_name()

RZ_API const char* rz_bin_dwarf_get_attr_name ( ut64  attr_code)

Definition at line 323 of file dwarf.c.

323  {
324  if (attr_code < RZ_ARRAY_SIZE(dwarf_attr_encodings)) {
325  return dwarf_attr_encodings[attr_code];
326  }
327  // the below codes are much sparser, so putting them in an array would require a lot of
328  // unused memory
329  switch (attr_code) {
330  case DW_AT_lo_user:
331  return "DW_AT_lo_user";
333  return "DW_AT_MIPS_linkage_name";
335  return "DW_AT_GNU_call_site_value";
337  return "DW_AT_GNU_call_site_data_value";
339  return "DW_AT_GNU_call_site_target";
341  return "DW_AT_GNU_call_site_target_clobbered";
342  case DW_AT_GNU_tail_call:
343  return "DW_AT_GNU_tail_call";
345  return "DW_AT_GNU_all_tail_call_sites";
347  return "DW_AT_GNU_all_call_sites";
349  return "DW_AT_GNU_all_source_call_sites";
350  case DW_AT_GNU_macros:
351  return "DW_AT_GNU_macros";
352  case DW_AT_GNU_deleted:
353  return "DW_AT_GNU_deleted";
354  case DW_AT_GNU_dwo_name:
355  return "DW_AT_GNU_dwo_name";
356  case DW_AT_GNU_dwo_id:
357  return "DW_AT_GNU_dwo_id";
359  return "DW_AT_GNU_ranges_base";
360  case DW_AT_GNU_addr_base:
361  return "DW_AT_GNU_addr_base";
362  case DW_AT_GNU_pubnames:
363  return "DW_AT_GNU_pubnames";
364  case DW_AT_GNU_pubtypes:
365  return "DW_AT_GNU_pubtypes";
366  case DW_AT_hi_user:
367  return "DW_AT_hi_user";
368  default:
369  return NULL;
370  }
371 }
static const char * dwarf_attr_encodings[]
Definition: dwarf.c:105
#define DW_AT_hi_user
Definition: rz_bin_dwarf.h:277
#define DW_AT_GNU_pubtypes
Definition: rz_bin_dwarf.h:276
#define DW_AT_GNU_all_call_sites
Definition: rz_bin_dwarf.h:267
#define DW_AT_GNU_call_site_target_clobbered
Definition: rz_bin_dwarf.h:264
#define DW_AT_GNU_all_source_call_sites
Definition: rz_bin_dwarf.h:268
#define DW_AT_GNU_deleted
Definition: rz_bin_dwarf.h:270
#define DW_AT_GNU_call_site_data_value
Definition: rz_bin_dwarf.h:262
#define DW_AT_GNU_addr_base
Definition: rz_bin_dwarf.h:274
#define DW_AT_MIPS_linkage_name
Definition: rz_bin_dwarf.h:260
#define DW_AT_GNU_call_site_value
Definition: rz_bin_dwarf.h:261
#define DW_AT_GNU_macros
Definition: rz_bin_dwarf.h:269
#define DW_AT_lo_user
Definition: rz_bin_dwarf.h:258
#define DW_AT_GNU_ranges_base
Definition: rz_bin_dwarf.h:273
#define DW_AT_GNU_dwo_name
Definition: rz_bin_dwarf.h:271
#define DW_AT_GNU_pubnames
Definition: rz_bin_dwarf.h:275
#define DW_AT_GNU_dwo_id
Definition: rz_bin_dwarf.h:272
#define DW_AT_GNU_tail_call
Definition: rz_bin_dwarf.h:265
#define DW_AT_GNU_call_site_target
Definition: rz_bin_dwarf.h:263
#define DW_AT_GNU_all_tail_call_sites
Definition: rz_bin_dwarf.h:266
#define RZ_ARRAY_SIZE(x)
Definition: rz_types.h:300

References DW_AT_GNU_addr_base, DW_AT_GNU_all_call_sites, DW_AT_GNU_all_source_call_sites, DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_call_site_value, DW_AT_GNU_deleted, DW_AT_GNU_dwo_id, DW_AT_GNU_dwo_name, DW_AT_GNU_macros, DW_AT_GNU_pubnames, DW_AT_GNU_pubtypes, DW_AT_GNU_ranges_base, DW_AT_GNU_tail_call, DW_AT_hi_user, DW_AT_lo_user, DW_AT_MIPS_linkage_name, dwarf_attr_encodings, NULL, and RZ_ARRAY_SIZE.

Referenced by rz_core_bin_dwarf_print_abbrev_section(), and rz_core_bin_dwarf_print_debug_info().

◆ rz_bin_dwarf_get_lang_name()

RZ_API const char* rz_bin_dwarf_get_lang_name ( ut64  lang)

Definition at line 387 of file dwarf.c.

387  {
388  if (lang >= RZ_ARRAY_SIZE(dwarf_langs)) {
389  return NULL;
390  }
391  return dwarf_langs[lang];
392 }
static const char * dwarf_langs[]
Definition: dwarf.c:274

References dwarf_langs, NULL, and RZ_ARRAY_SIZE.

Referenced by rz_core_bin_dwarf_print_attr_value().

◆ rz_bin_dwarf_get_tag_name()

RZ_API const char* rz_bin_dwarf_get_tag_name ( ut64  tag)

Definition at line 316 of file dwarf.c.

316  {
317  if (tag >= DW_TAG_LAST) {
318  return NULL;
319  }
321 }
static const char * dwarf_tag_name_encodings[]
Definition: dwarf.c:39
#define DW_TAG_LAST
Definition: rz_bin_dwarf.h:125

References DW_TAG_LAST, dwarf_tag_name_encodings, NULL, and test-lz4-versions::tag.

Referenced by rz_core_bin_dwarf_print_abbrev_section(), and rz_core_bin_dwarf_print_debug_info().

◆ rz_bin_dwarf_get_unit_type_name()

RZ_API const char* rz_bin_dwarf_get_unit_type_name ( ut64  unit_type)

Definition at line 380 of file dwarf.c.

380  {
381  if (!unit_type || unit_type > DW_UT_split_type) {
382  return NULL;
383  }
384  return dwarf_unit_types[unit_type];
385 }
static const char * dwarf_unit_types[]
Definition: dwarf.c:305
#define DW_UT_split_type
Definition: rz_bin_dwarf.h:623

References DW_UT_split_type, dwarf_unit_types, and NULL.

Referenced by rz_core_bin_dwarf_print_debug_info().

◆ rz_bin_dwarf_line_header_free_file_cache()

RZ_API void rz_bin_dwarf_line_header_free_file_cache ( const RzBinDwarfLineHeader hdr,
RzBinDwarfLineFileCache  fnc 
)

Definition at line 589 of file dwarf.c.

589  {
590  if (!fnc) {
591  return;
592  }
593  for (size_t i = 0; i < hdr->file_names_count; i++) {
594  free(fnc[i]);
595  }
596  free(fnc);
597 }

References RzBinDwarfLineHeader::file_names_count, free(), and i.

Referenced by parse_line_raw().

◆ rz_bin_dwarf_line_header_get_adj_opcode()

RZ_API ut64 rz_bin_dwarf_line_header_get_adj_opcode ( const RzBinDwarfLineHeader header,
ut8  opcode 
)

Definition at line 613 of file dwarf.c.

613  {
615  return opcode - header->opcode_base;
616 }
#define header(is_bt, len_min, ret_op)

References header, and rz_return_val_if_fail.

Referenced by print_line_op(), rz_bin_dwarf_line_header_get_spec_op_advance_line(), and rz_bin_dwarf_line_header_get_spec_op_advance_pc().

◆ rz_bin_dwarf_line_header_get_full_file_path()

RZ_API char* rz_bin_dwarf_line_header_get_full_file_path ( RZ_NULLABLE const RzBinDwarfDebugInfo info,
const RzBinDwarfLineHeader header,
ut64  file_index 
)
Parameters
infoif not NULL, filenames can get resolved to absolute paths using the compilation unit dirs from it

Definition at line 547 of file dwarf.c.

547  {
549  if (file_index >= header->file_names_count) {
550  return NULL;
551  }
552  RzBinDwarfLineFileEntry *file = &header->file_names[file_index];
553  if (!file->name) {
554  return NULL;
555  }
556 
557  /*
558  * Dwarf standard does not seem to specify the exact separator (slash/backslash) of paths
559  * so apparently it is target-dependent. However we have yet to see a Windows binary that
560  * also contains dwarf and contains backslashes. The ones we have seen from MinGW have regular
561  * slashes.
562  * And since there seems to be no way to reliable check whether the target uses slashes
563  * or backslashes anyway, we will simply use slashes always here.
564  */
565 
566  const char *comp_dir = info ? ht_up_find(info->line_info_offset_comp_dir, header->offset, NULL) : NULL;
567  const char *include_dir = NULL;
568  char *own_str = NULL;
569  if (file->id_idx > 0 && file->id_idx - 1 < header->include_dirs_count) {
570  include_dir = header->include_dirs[file->id_idx - 1];
571  if (include_dir && include_dir[0] != '/' && comp_dir) {
572  include_dir = own_str = rz_str_newf("%s/%s/", comp_dir, include_dir);
573  }
574  } else {
575  include_dir = comp_dir;
576  }
577  if (!include_dir) {
578  include_dir = "./";
579  }
580  char *r = rz_str_newf("%s/%s", include_dir, file->name);
581  free(own_str);
582  return r;
583 }
RzBinInfo * info(RzBinFile *bf)
Definition: bin_ne.c:86
#define r
Definition: crypto_rc6.c:12
RZ_API char * rz_str_newf(const char *fmt,...) RZ_PRINTF_CHECK(1
Definition: gzappend.c:170
char * name
Definition: gzappend.c:176
Definition: rz_bin_dwarf.h:822

References free(), header, info(), file::name, NULL, r, rz_return_val_if_fail, and rz_str_newf().

Referenced by get_full_file_path().

◆ rz_bin_dwarf_line_header_get_spec_op_advance_line()

RZ_API st64 rz_bin_dwarf_line_header_get_spec_op_advance_line ( const RzBinDwarfLineHeader header,
ut8  opcode 
)

Definition at line 628 of file dwarf.c.

628  {
630  if (!header->line_range) {
631  // to dodge division by zero
632  return 0;
633  }
634  ut8 adj_opcode = rz_bin_dwarf_line_header_get_adj_opcode(header, opcode);
635  return header->line_base + (adj_opcode % header->line_range);
636 }
RZ_API ut64 rz_bin_dwarf_line_header_get_adj_opcode(const RzBinDwarfLineHeader *header, ut8 opcode)
Definition: dwarf.c:613
uint8_t ut8
Definition: lh5801.h:11

References header, rz_bin_dwarf_line_header_get_adj_opcode(), and rz_return_val_if_fail.

Referenced by print_line_op(), and rz_bin_dwarf_line_op_run().

◆ rz_bin_dwarf_line_header_get_spec_op_advance_pc()

RZ_API ut64 rz_bin_dwarf_line_header_get_spec_op_advance_pc ( const RzBinDwarfLineHeader header,
ut8  opcode 
)

Definition at line 618 of file dwarf.c.

618  {
620  if (!header->line_range) {
621  // to dodge division by zero
622  return 0;
623  }
624  ut8 adj_opcode = rz_bin_dwarf_line_header_get_adj_opcode(header, opcode);
625  return (adj_opcode / header->line_range) * header->min_inst_len;
626 }

References header, rz_bin_dwarf_line_header_get_adj_opcode(), and rz_return_val_if_fail.

Referenced by print_line_op(), and rz_bin_dwarf_line_op_run().

◆ rz_bin_dwarf_line_header_new_file_cache()

RZ_API RzBinDwarfLineFileCache rz_bin_dwarf_line_header_new_file_cache ( const RzBinDwarfLineHeader hdr)

Definition at line 585 of file dwarf.c.

585  {
586  return RZ_NEWS0(char *, hdr->file_names_count);
587 }
#define RZ_NEWS0(x, y)
Definition: rz_types.h:282

References RzBinDwarfLineHeader::file_names_count, and RZ_NEWS0.

Referenced by parse_line_raw().

◆ rz_bin_dwarf_line_header_reset_regs()

RZ_API void rz_bin_dwarf_line_header_reset_regs ( const RzBinDwarfLineHeader hdr,
RzBinDwarfSMRegisters regs 
)

Definition at line 824 of file dwarf.c.

824  {
825  rz_return_if_fail(hdr && regs);
826  regs->address = 0;
827  regs->file = 1;
828  regs->line = 1;
829  regs->column = 0;
830  regs->is_stmt = hdr->default_is_stmt;
831  regs->basic_block = DWARF_FALSE;
832  regs->end_sequence = DWARF_FALSE;
833  regs->prologue_end = DWARF_FALSE;
834  regs->epilogue_begin = DWARF_FALSE;
835  regs->isa = 0;
836 }
static char * regs[]
Definition: analysis_sh.c:203
#define rz_return_if_fail(expr)
Definition: rz_assert.h:100
#define DWARF_FALSE
Definition: rz_bin_dwarf.h:804

References RzBinDwarfLineHeader::default_is_stmt, DWARF_FALSE, regs, and rz_return_if_fail.

Referenced by parse_line_raw(), rz_bin_dwarf_line_op_run(), and rz_core_bin_dwarf_print_line_units().

◆ rz_bin_dwarf_line_info_free()

RZ_API void rz_bin_dwarf_line_info_free ( RzBinDwarfLineInfo li)

Definition at line 1352 of file dwarf.c.

1352  {
1353  if (!li) {
1354  return;
1355  }
1356  rz_list_free(li->units);
1358  free(li);
1359 }
RZ_API void rz_bin_source_line_info_free(RzBinSourceLineInfo *sli)
Definition: dbginfo.c:137
RZ_API void rz_list_free(RZ_NONNULL RzList *list)
Empties the list and frees the list pointer.
Definition: list.c:137
struct rz_bin_source_line_info_t * lines
Definition: rz_bin_dwarf.h:903

References free(), RzBinDwarfLineInfo::lines, rz_bin_source_line_info_free(), rz_list_free(), and RzBinDwarfLineInfo::units.

Referenced by bin_dwarf().

◆ rz_bin_dwarf_line_op_fini()

RZ_API void rz_bin_dwarf_line_op_fini ( RzBinDwarfLineOp op)

Definition at line 699 of file dwarf.c.

699  {
701  if (op->type == RZ_BIN_DWARF_LINE_OP_TYPE_EXT && op->opcode == DW_LNE_define_file) {
702  free(op->args.define_file.filename);
703  }
704 }
#define DW_LNE_define_file
Definition: rz_bin_dwarf.h:34
Definition: dis.c:32

References DW_LNE_define_file, free(), RZ_BIN_DWARF_LINE_OP_TYPE_EXT, and rz_return_if_fail.

Referenced by line_unit_free(), and parse_opcodes().

◆ rz_bin_dwarf_line_op_run()

◆ rz_bin_dwarf_loc_free()

RZ_API void rz_bin_dwarf_loc_free ( HtUP *  loc_table)

Definition at line 2283 of file dwarf.c.

2283  {
2284  rz_return_if_fail(loc_table);
2285  loc_table->opt.freefn = free_loc_table_entry;
2286  ht_up_free(loc_table);
2287 }
static void free_loc_table_entry(HtUPKv *kv)
Definition: dwarf.c:2277

References free_loc_table_entry(), and rz_return_if_fail.

Referenced by bin_dwarf(), and rz_core_bin_apply_dwarf().

◆ rz_bin_dwarf_parse_abbrev()

RZ_API RzBinDwarfDebugAbbrev* rz_bin_dwarf_parse_abbrev ( RzBinFile binfile)

Definition at line 2144 of file dwarf.c.

2144  {
2145  rz_return_val_if_fail(binfile, NULL);
2146  size_t len = 0;
2147  ut8 *buf = get_section_bytes(binfile, "debug_abbrev", &len);
2148  if (!buf) {
2149  return NULL;
2150  }
2152  free(buf);
2153  return abbrevs;
2154 }
size_t len
Definition: 6502dis.c:15
static RzBinDwarfDebugAbbrev * parse_abbrev_raw(const ut8 *obuf, size_t len)
Definition: dwarf.c:1973
static ut8 * get_section_bytes(RzBinFile *binfile, const char *sect_name, size_t *len)
Definition: dwarf.c:2053
voidpf void * buf
Definition: ioapi.h:138

References free(), get_section_bytes(), len, NULL, parse_abbrev_raw(), and rz_return_val_if_fail.

Referenced by bin_dwarf(), and rz_core_bin_apply_dwarf().

◆ rz_bin_dwarf_parse_aranges()

RZ_API RzList* rz_bin_dwarf_parse_aranges ( RzBinFile binfile)

Definition at line 2132 of file dwarf.c.

2132  {
2133  rz_return_val_if_fail(binfile, NULL);
2134  size_t len;
2135  ut8 *buf = get_section_bytes(binfile, "debug_aranges", &len);
2136  if (!buf) {
2137  return NULL;
2138  }
2139  RzList *r = parse_aranges_raw(buf, len, binfile->o && binfile->o->info && binfile->o->info->big_endian);
2140  free(buf);
2141  return r;
2142 }
static RzList * parse_aranges_raw(const ut8 *obuf, size_t obuf_sz, bool big_endian)
Definition: dwarf.c:1114
RzBinObject * o
Definition: rz_bin.h:305
int big_endian
Definition: rz_bin.h:235
RzBinInfo * info
Definition: rz_bin.h:287

References rz_bin_info_t::big_endian, free(), get_section_bytes(), rz_bin_object_t::info, len, NULL, rz_bin_file_t::o, parse_aranges_raw(), r, and rz_return_val_if_fail.

Referenced by bin_dwarf().

◆ rz_bin_dwarf_parse_info()

RZ_API RzBinDwarfDebugInfo* rz_bin_dwarf_parse_info ( RzBinFile binfile,
RzBinDwarfDebugAbbrev da 
)

Parses .debug_info section.

Parameters
daParsed abbreviations
bin
Returns
RzBinDwarfDebugInfo* Parsed information, NULL if error

Definition at line 2075 of file dwarf.c.

2075  {
2076  rz_return_val_if_fail(binfile && da, NULL);
2078 
2079  size_t debug_str_len = 0;
2080  ut8 *debug_str_buf = get_section_bytes(binfile, "debug_str", &debug_str_len);
2081 
2082  size_t len;
2083  ut8 *buf = get_section_bytes(binfile, "debug_info", &len);
2084  if (!buf) {
2085  goto cave_debug_str_buf;
2086  }
2087  info = parse_info_raw(da, buf, len, debug_str_buf, debug_str_len,
2088  binfile->o && binfile->o->info && binfile->o->info->big_endian);
2089  if (!info) {
2090  goto cave_buf;
2091  }
2092  info->lookup_table = ht_up_new_size(info->n_dwarf_dies, NULL, NULL, NULL);
2093  if (!info->lookup_table) {
2095  info = NULL;
2096  goto cave_buf;
2097  }
2098  // build hashtable after whole parsing because of possible relocations
2099  if (info) {
2100  size_t i, j;
2101  for (i = 0; i < info->count; i++) {
2102  RzBinDwarfCompUnit *unit = &info->comp_units[i];
2103  for (j = 0; j < unit->count; j++) {
2104  RzBinDwarfDie *die = &unit->dies[j];
2105  ht_up_insert(info->lookup_table, die->offset, die); // optimization for further processing}
2106  }
2107  }
2108  }
2109 cave_buf:
2110  free(buf);
2111 cave_debug_str_buf:
2112  free(debug_str_buf);
2113  return info;
2114 }
static RzBinDwarfDebugInfo * parse_info_raw(RzBinDwarfDebugAbbrev *da, const ut8 *obuf, size_t len, const ut8 *debug_str, size_t debug_str_len, bool big_endian)
Parses whole .debug_info section.
Definition: dwarf.c:1897
RZ_API void rz_bin_dwarf_debug_info_free(RzBinDwarfDebugInfo *inf)
Definition: dwarf.c:1407
RzBinDwarfDie * dies
Definition: rz_bin_dwarf.h:764

References rz_bin_info_t::big_endian, RzBinDwarfCompUnit::count, RzBinDwarfCompUnit::dies, free(), get_section_bytes(), i, info(), rz_bin_object_t::info, len, NULL, rz_bin_file_t::o, RzBinDwarfDie::offset, parse_info_raw(), rz_bin_dwarf_debug_info_free(), and rz_return_val_if_fail.

Referenced by bin_dwarf(), and rz_core_bin_apply_dwarf().

◆ rz_bin_dwarf_parse_line()

RZ_API RzBinDwarfLineInfo* rz_bin_dwarf_parse_line ( RzBinFile binfile,
RZ_NULLABLE RzBinDwarfDebugInfo info,
RzBinDwarfLineInfoMask  mask 
)
Parameters
infoif not NULL, filenames can get resolved to absolute paths using the compilation unit dirs from it

Definition at line 2119 of file dwarf.c.

2119  {
2120  rz_return_val_if_fail(binfile, NULL);
2121  size_t len;
2122  ut8 *buf = get_section_bytes(binfile, "debug_line", &len);
2123  if (!buf) {
2124  return NULL;
2125  }
2126  // Actually parse the section
2127  RzBinDwarfLineInfo *r = parse_line_raw(binfile, buf, len, mask, binfile->o && binfile->o->info && binfile->o->info->big_endian, info);
2128  free(buf);
2129  return r;
2130 }
#define mask()
static RzBinDwarfLineInfo * parse_line_raw(RzBinFile *binfile, const ut8 *obuf, ut64 len, RzBinDwarfLineInfoMask mask, bool big_endian, RZ_NULLABLE RzBinDwarfDebugInfo *info)
Definition: dwarf.c:996
Line info of all compilation units from the entire debug_line section.
Definition: rz_bin_dwarf.h:901

References rz_bin_info_t::big_endian, free(), get_section_bytes(), info(), rz_bin_object_t::info, len, mask, NULL, rz_bin_file_t::o, parse_line_raw(), r, and rz_return_val_if_fail.

Referenced by bin_dwarf(), and rz_core_bin_apply_dwarf().

◆ rz_bin_dwarf_parse_loc()

RZ_API HtUP* rz_bin_dwarf_parse_loc ( RzBinFile binfile,
int  addr_size 
)

Parses out the .debug_loc section into a table that maps each list as offset of a list -> LocationList.

Parameters
binfile
addr_sizemachine address size used in executable (necessary for parsing)
Returns
RZ_API*

Definition at line 2259 of file dwarf.c.

2259  {
2260  rz_return_val_if_fail(binfile, NULL);
2261  /* The standarparse_loc_raw_frame, not sure why is that */
2262  size_t len = 0;
2263  ut8 *buf = get_section_bytes(binfile, "debug_loc", &len);
2264  if (!buf) {
2265  return NULL;
2266  }
2267  HtUP /*<offset, RzBinDwarfLocList*/ *loc_table = ht_up_new0();
2268  if (!loc_table) {
2269  free(buf);
2270  return NULL;
2271  }
2272  loc_table = parse_loc_raw(loc_table, buf, len, addr_size, binfile->o && binfile->o->info && binfile->o->info->big_endian);
2273  free(buf);
2274  return loc_table;
2275 }
static HtUP * parse_loc_raw(HtUP *loc_table, const ut8 *buf, size_t len, size_t addr_size, bool big_endian)
Definition: dwarf.c:2199

References rz_bin_info_t::big_endian, free(), get_section_bytes(), rz_bin_object_t::info, len, NULL, rz_bin_file_t::o, parse_loc_raw(), and rz_return_val_if_fail.

Referenced by bin_dwarf(), and rz_core_bin_apply_dwarf().