Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Classes | |
struct | symbols_segment |
struct | symbol_bind_translation |
struct | symbol_type_translation |
Macros | |
#define | HASH_NCHAIN_OFFSET(x) ((x) + 4) |
Variables | |
static struct symbol_bind_translation | symbol_bind_translation_table [] |
static const struct symbol_type_translation | symbol_type_translation_table [] |
Definition at line 10 of file elf_symbols.c.
|
static |
Definition at line 255 of file elf_symbols.c.
References convert_elf_symbol_entry(), symbols_segment::dynamic, Elf_(), elf_symbol_fini(), symbols_segment::entry_size, filter(), get_symbol_entry(), has_already_been_processed(), i, NULL, symbols_segment::number, symbols_segment::offset, rz_vector_push(), and ut64().
Referenced by get_dynamic_elf_symbols(), and get_section_elf_symbols().
|
static |
Definition at line 215 of file elf_symbols.c.
References rz_bin_elf_symbol_t::bind, Elf_(), section::offset, rz_bin_elf_symbol_t::ordinal, rz_bin_elf_symbol_t::paddr, rz_bin_elf_get_section(), rz_bin_elf_is_relocatable(), rz_bin_elf_p2v(), rz_bin_elf_v2p(), set_elf_symbol_name(), SHN_UNDEF, rz_bin_elf_symbol_t::size, symbol_bind_to_str(), symbol_type_to_str(), rz_bin_elf_symbol_t::type, UT64_MAX, and rz_bin_elf_symbol_t::vaddr.
Referenced by compute_symbols_from_segment().
|
static |
Definition at line 66 of file elf_symbols.c.
References ut64().
Referenced by compute_symbols_from_segment(), convert_elf_symbol_entry(), Elf_(), get_dynamic_elf_symbols(), get_gnu_debugdata_elf_symbols(), get_section_elf_symbols(), get_symbol_entry_aux(), rz_bin_elf_symbols_new(), and set_elf_symbol_name().
|
static |
Definition at line 250 of file elf_symbols.c.
References e, free(), and rz_bin_elf_symbol_t::name.
Referenced by compute_symbols_from_segment(), and rz_bin_elf_compute_symbols().
|
static |
Definition at line 439 of file elf_symbols.c.
References SHT_NULL.
Referenced by rz_bin_elf_symbols_new().
|
static |
Definition at line 295 of file elf_symbols.c.
References addr, compute_symbols_from_segment(), DT_SYMENT, DT_SYMTAB, Elf_(), symbols_segment::entry_size, symbols_segment::number, rz_bin_elf_get_dt_info(), rz_bin_elf_is_executable(), rz_bin_elf_v2p(), symbols_segment_init(), ut64(), and UT64_MAX.
Referenced by rz_bin_elf_compute_symbols().
|
static |
Definition at line 367 of file elf_symbols.c.
References rz_bin_file_load_options_t::baseaddr, Elf_(), ELFOBJ, filter(), found, rz_vector_t::len, rz_bin_elf_symbol_t::name, NULL, rz_bin_elf_section_t::offset, rz_bin_elf_compute_symbols(), rz_bin_elf_free(), rz_bin_elf_get_section_with_name(), rz_bin_elf_new_buf(), rz_buf_free(), rz_buf_new_empty(), rz_buf_new_slice(), rz_lzma_dec_buf(), rz_vector_foreach, rz_vector_free(), rz_vector_push(), rz_bin_elf_section_t::size, and UT64_MAX.
Referenced by rz_bin_elf_compute_symbols().
|
static |
Definition at line 325 of file elf_symbols.c.
References compute_symbols_from_segment(), Elf_(), i, symbols_segment::number, rz_bin_elf_section_t::offset, section::offset, rz_bin_elf_enumerate_sections, rz_bin_elf_get_section(), rz_bin_elf_strtab_free(), rz_bin_elf_strtab_new(), RZ_LOG_WARN, SHT_DYNSYM, SHT_SYMTAB, rz_bin_elf_section_t::size, section::size, symbols_segment::strtab, symbols_segment_init(), and ut64().
Referenced by rz_bin_elf_compute_symbols().
Definition at line 171 of file elf_symbols.c.
References get_symbol_entry_aux(), PFMT64x, and RZ_LOG_WARN.
Referenced by compute_symbols_from_segment().
Definition at line 153 of file elf_symbols.c.
References Elf_(), rz_bin_elf_read_addr(), rz_bin_elf_read_char(), rz_bin_elf_read_section(), rz_bin_elf_read_word(), and rz_bin_elf_read_xword().
Referenced by get_symbol_entry().
Definition at line 243 of file elf_symbols.c.
References found.
Referenced by compute_symbols_from_segment().
Definition at line 180 of file elf_symbols.c.
References ELF_ST_BIND, ELF_ST_TYPE, STB_LOCAL, and STT_SECTION.
Referenced by set_elf_symbol_name().
Definition at line 100 of file elf_symbols.c.
References ELF_ST_BIND, ELF_ST_TYPE, ELF_ST_VISIBILITY, STB_LOCAL, STT_NOTYPE, and STV_DEFAULT.
Referenced by is_special_symbol().
Definition at line 119 of file elf_symbols.c.
References EM_AARCH64, EM_ARM, and is_special_arm_symbol().
Referenced by symbol_type_to_str().
RZ_OWN RzVector* Elf_() rz_bin_elf_compute_symbols | ( | ELFOBJ * | bin, |
RzBinElfSymbolFilter | filter | ||
) |
Definition at line 486 of file elf_symbols.c.
References elf_symbol_fini(), get_dynamic_elf_symbols(), get_gnu_debugdata_elf_symbols(), get_section_elf_symbols(), NULL, rz_vector_free(), rz_vector_len(), and rz_vector_new().
Referenced by get_gnu_debugdata_elf_symbols(), rz_bin_elf_analyse_imports(), and rz_bin_elf_symbols_new().
RZ_BORROW RzBinElfSymbol* Elf_() rz_bin_elf_get_symbol | ( | RZ_NONNULL ELFOBJ * | bin, |
ut32 | ordinal | ||
) |
Definition at line 473 of file elf_symbols.c.
References NULL, rz_bin_elf_symbol_t::ordinal, rz_bin_elf_foreach_symbols, and rz_return_val_if_fail.
bool Elf_() rz_bin_elf_has_symbols | ( | RZ_NONNULL ELFOBJ * | bin | ) |
Definition at line 534 of file elf_symbols.c.
References rz_return_val_if_fail.
RZ_OWN RzVector* Elf_() rz_bin_elf_symbols_new | ( | RZ_NONNULL ELFOBJ * | bin | ) |
Definition at line 523 of file elf_symbols.c.
References Elf_(), filter_symbol(), NULL, rz_bin_elf_compute_symbols(), and rz_return_val_if_fail.
Referenced by init().
|
static |
Definition at line 197 of file elf_symbols.c.
References Elf_(), is_section_local_symbol(), rz_bin_elf_symbol_t::name, rz_bin_elf_strtab_get_dup(), rz_str_new(), and symbols_segment::strtab.
Referenced by convert_elf_symbol_entry().
Definition at line 143 of file elf_symbols.c.
References symbol_bind_translation::bind, ELF_ST_BIND, i, symbol_bind_translation::name, RZ_ARRAY_SIZE, RZ_BIN_BIND_UNKNOWN_STR, and symbol_bind_translation_table.
Referenced by convert_elf_symbol_entry().
|
static |
Definition at line 129 of file elf_symbols.c.
References ELF_ST_TYPE, i, is_special_symbol(), rz_bin_elf_symbol_t::name, symbol_type_translation::name, RZ_ARRAY_SIZE, RZ_BIN_TYPE_SPECIAL_SYM_STR, RZ_BIN_TYPE_UNKNOWN_STR, symbol_type_translation_table, and symbol_type_translation::type.
Referenced by convert_elf_symbol_entry().
|
static |
Definition at line 1 of file elf_symbols.c.
Referenced by get_dynamic_elf_symbols(), and get_section_elf_symbols().
|
static |
Definition at line 1 of file elf_symbols.c.
Referenced by symbol_bind_to_str().
|
static |
Definition at line 1 of file elf_symbols.c.
Referenced by symbol_type_to_str().