Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_core.h>
Go to the source code of this file.
Functions | |
RZ_API void | rz_core_bin_dwarf_print_abbrev_section (const RzBinDwarfDebugAbbrev *da) |
RZ_API void | rz_core_bin_dwarf_print_attr_value (const RzBinDwarfAttrValue *val) |
RZ_API void | rz_core_bin_dwarf_print_debug_info (const RzBinDwarfDebugInfo *inf) |
static int | offset_comp (const void *a, const void *b) |
static bool | sort_loclists (void *user, const ut64 key, const void *value) |
RZ_API void | rz_core_bin_dwarf_print_loc (HtUP *loc_table, int addr_size) |
RZ_API void | rz_core_bin_dwarf_print_aranges (RzList *aranges) |
static void | print_line_op (RzBinDwarfLineOp *op, RzBinDwarfLineHeader *hdr, RZ_NULLABLE RzBinDwarfSMRegisters *regs) |
RZ_API void | rz_core_bin_dwarf_print_line_units (RzList *lines) |
Definition at line 175 of file cdwarf.c.
References a, b, f, s, and ut64().
Referenced by sort_loclists().
|
static |
regs | optional, the state after op has been executed. If not null, some meaningful results from this context will be shown. |
Definition at line 247 of file cdwarf.c.
References DW_LNE_define_file, DW_LNE_end_sequence, DW_LNE_set_address, DW_LNE_set_discriminator, DW_LNS_advance_line, DW_LNS_advance_pc, DW_LNS_const_add_pc, DW_LNS_copy, DW_LNS_fixed_advance_pc, DW_LNS_negate_stmt, DW_LNS_set_basic_block, DW_LNS_set_column, DW_LNS_set_epilogue_begin, DW_LNS_set_file, DW_LNS_set_isa, DW_LNS_set_prologue_end, RzBinDwarfLineHeader::min_inst_len, PFMT64d, PFMT64u, PFMT64x, regs, rz_bin_dwarf_line_header_get_adj_opcode(), rz_bin_dwarf_line_header_get_spec_op_advance_line(), rz_bin_dwarf_line_header_get_spec_op_advance_pc(), RZ_BIN_DWARF_LINE_OP_TYPE_EXT, RZ_BIN_DWARF_LINE_OP_TYPE_SPEC, RZ_BIN_DWARF_LINE_OP_TYPE_STD, and rz_cons_printf().
Referenced by rz_core_bin_dwarf_print_line_units().
RZ_API void rz_core_bin_dwarf_print_abbrev_section | ( | const RzBinDwarfDebugAbbrev * | da | ) |
Definition at line 6 of file cdwarf.c.
References RzBinDwarfAttrDef::attr_form, RzBinDwarfAttrDef::attr_name, RzBinDwarfAbbrevDecl::code, RzBinDwarfAbbrevDecl::count, RzBinDwarfDebugAbbrev::count, RzBinDwarfDebugAbbrev::decls, RzBinDwarfAbbrevDecl::defs, RzBinDwarfAbbrevDecl::has_children, i, RzBinDwarfAbbrevDecl::offset, PFMT64d, PFMT64x, rz_bin_dwarf_get_attr_form_name(), rz_bin_dwarf_get_attr_name(), rz_bin_dwarf_get_tag_name(), rz_cons_printf(), and RzBinDwarfAbbrevDecl::tag.
Referenced by bin_dwarf().
Definition at line 222 of file cdwarf.c.
References rz_bin_dwarf_arange_t::addr, rz_bin_dwarf_arange_set_t::address_size, rz_bin_dwarf_arange_set_t::aranges, rz_bin_dwarf_arange_set_t::aranges_count, rz_bin_dwarf_arange_set_t::debug_info_offset, i, rz_bin_dwarf_arange_set_t::is_64bit, rz_bin_dwarf_arange_t::length, PFMT64x, rz_cons_printf(), rz_return_if_fail, rz_str_bool(), rz_bin_dwarf_arange_set_t::segment_size, rz_bin_dwarf_arange_set_t::unit_length, and rz_bin_dwarf_arange_set_t::version.
Referenced by bin_dwarf().
RZ_API void rz_core_bin_dwarf_print_attr_value | ( | const RzBinDwarfAttrValue * | val | ) |
Definition at line 32 of file cdwarf.c.
References DW_AT_language, DW_FORM_addr, DW_FORM_addrx, DW_FORM_addrx1, DW_FORM_addrx2, DW_FORM_addrx3, DW_FORM_addrx4, DW_FORM_block, DW_FORM_block1, DW_FORM_block2, DW_FORM_block4, DW_FORM_data1, DW_FORM_data16, DW_FORM_data2, DW_FORM_data4, DW_FORM_data8, DW_FORM_exprloc, DW_FORM_flag, DW_FORM_flag_present, DW_FORM_implicit_const, DW_FORM_line_ptr, DW_FORM_loclistx, DW_FORM_ref1, DW_FORM_ref2, DW_FORM_ref4, DW_FORM_ref8, DW_FORM_ref_addr, DW_FORM_ref_sig8, DW_FORM_ref_sup4, DW_FORM_ref_sup8, DW_FORM_ref_udata, DW_FORM_rnglistx, DW_FORM_sdata, DW_FORM_sec_offset, DW_FORM_string, DW_FORM_strp, DW_FORM_strp_sup, DW_FORM_strx, DW_FORM_strx1, DW_FORM_strx2, DW_FORM_strx3, DW_FORM_strx4, DW_FORM_udata, i, PFMT64d, PFMT64u, PFMT64x, rz_bin_dwarf_get_lang_name(), rz_cons_printf(), rz_return_if_fail, and val.
Referenced by rz_core_bin_dwarf_print_debug_info().
RZ_API void rz_core_bin_dwarf_print_debug_info | ( | const RzBinDwarfDebugInfo * | inf | ) |
Definition at line 121 of file cdwarf.c.
References RzBinDwarfDie::attr_values, RzBinDwarfDie::count, i, inf(), k, PFMT64u, PFMT64x, rz_bin_dwarf_get_attr_name(), rz_bin_dwarf_get_tag_name(), rz_bin_dwarf_get_unit_type_name(), rz_cons_printf(), rz_core_bin_dwarf_print_attr_value(), rz_return_if_fail, and test-lz4-versions::tag.
Referenced by bin_dwarf().
Definition at line 343 of file cdwarf.c.
References RzBinDwarfLineHeader::default_is_stmt, DW_LNE_end_sequence, f, RzBinDwarfLineHeader::file_names, RzBinDwarfLineHeader::file_names_count, RzBinDwarfLineUnit::header, RzBinDwarfLineHeader::header_length, i, RzBinDwarfLineHeader::include_dirs, RzBinDwarfLineHeader::include_dirs_count, RzBinDwarfLineHeader::line_base, RzBinDwarfLineHeader::line_range, lines(), RzBinDwarfLineHeader::max_ops_per_inst, RzBinDwarfLineHeader::min_inst_len, NULL, RzBinDwarfLineHeader::opcode_base, RzBinDwarfLineUnit::ops, RzBinDwarfLineUnit::ops_count, PFMT32u, PFMT64d, PFMT64u, print_line_op(), regs, rz_bin_dwarf_line_header_reset_regs(), rz_bin_dwarf_line_op_run(), RZ_BIN_DWARF_LINE_OP_TYPE_EXT, rz_cons_printf(), rz_return_if_fail, RzBinDwarfLineHeader::std_opcode_lengths, RzBinDwarfLineHeader::unit_length, and RzBinDwarfLineHeader::version.
Referenced by bin_dwarf().
Definition at line 196 of file cdwarf.c.
References i, rz_bin_dwarf_loc_list_t::list, rz_bin_dwarf_loc_list_t::offset, PFMT64x, capstone::range, rz_cons_printf(), rz_list_free(), rz_list_new(), rz_return_if_fail, sort_loclists(), and ut64().
Referenced by bin_dwarf().
Definition at line 189 of file cdwarf.c.
References offset_comp(), rz_list_add_sorted(), and value.
Referenced by rz_core_bin_dwarf_print_loc().