26 for (
Elf_(Word)
i = 0;
i < table->
data.nbuckets;
i++) {
29 RZ_LOG_WARN(
"Failed to read the GNU hash table (DT_GNU_HASH) bucket at 0x%" PFMT64x ".\n", bucket_offset);
40 if (index < table->data.symoffset) {
44 Elf_(Word) chain_index = index - table->
data.symoffset;
45 chain_offset += chain_index *
sizeof(
Elf_(Word));
52 RZ_LOG_WARN(
"Failed to read the GNU hash table (DT_GNU_HASH) chain at 0x%" PFMT64x ".\n", chain_offset);
78 RZ_LOG_WARN(
"Failed to read the GNU hash table (DT_GNU_HASH) at 0x%" PFMT64x ".\n", result->offset);
99 RZ_LOG_WARN(
"Failed to read the hash table (DT_HASH) at 0x%" PFMT64x ".\n", result->offset);
115 ut64 bucket_offset = bloom_offset + table.
data.bloom_size *
sizeof(
Elf_(Addr));
116 ut64 chain_offset = bucket_offset + table.
data.nbuckets *
sizeof(
Elf_(Word));
130 return table.
data.nchains;
ut64 Elf_() rz_bin_elf_v2p(RZ_NONNULL ELFOBJ *bin, ut64 vaddr)
Convert a virtual address to the physical address.
bool Elf_() rz_bin_elf_read_word(RZ_NONNULL ELFOBJ *bin, RZ_NONNULL RZ_INOUT ut64 *offset, RZ_NONNULL RZ_OUT Elf_(Word) *result)
bool Elf_() rz_bin_elf_get_dt_info(RZ_NONNULL ELFOBJ *bin, ut64 key, RZ_OUT ut64 *info)
size_t Elf_() rz_bin_elf_get_number_of_symbols_from_hash_table(RZ_NONNULL ELFOBJ *bin)
bool Elf_() rz_bin_elf_get_gnu_hash_table(RZ_NONNULL ELFOBJ *bin, RzBinElfGnuHashTable *result)
static size_t get_highest_chain_index_in_gnu_hash_table_buckets(ELFOBJ *bin, RzBinElfGnuHashTable *table, ut64 bucket_offset)
static size_t get_highest_symbol_index_in_gnu_hash_table_chains(ELFOBJ *bin, RzBinElfGnuHashTable *table, ut64 chain_offset, size_t index)
static bool read_gnu_hash_table(ELFOBJ *bin, RzBinElfGnuHashTable *result)
bool Elf_() rz_bin_elf_get_hash_table(RZ_NONNULL ELFOBJ *bin, RzBinElfHashTable *result)
size_t Elf_() rz_bin_elf_get_number_of_symbols_from_gnu_hash_table(RZ_NONNULL ELFOBJ *bin)
static bool read_hash_table(ELFOBJ *bin, RzBinElfHashTable *result)
#define rz_return_val_if_fail(expr, val)
#define RZ_LOG_WARN(fmtstr,...)
struct gnu_hash_table data
struct elf_hash_table data
ut64(WINAPI *w32_GetEnabledXStateFeatures)()