hashtab
struct hashtab voc[HTSIZE];
struct hashtab *h;
struct hashtab *h;
static struct wlist *hashtab[HASHSIZE];
for (wp = hashtab[hash(s)]; wp != NULL; wp = wp->next)
wp->next = hashtab[hashval];
hashtab[hashval] = wp;
hashtab_destroy(struct hashtab *h)
struct hashtab tab;
hash_find(const struct hashtab *tab, uintptr_t key, uintptr_t *val)
hash_insert(struct hashtab *tab, uintptr_t key, uintptr_t val)
struct hashtab *
struct hashtab *tab;
if (!(tab = calloc(sizeof(struct hashtab), 1)))
struct hashtab tab;
struct hashtab;
struct hashtab *hashtab;
struct hashtab;
struct hashtab * hash_new(void);
int hash_find(const struct hashtab *, uintptr_t, uintptr_t *);
struct hashentry * hash_insert(struct hashtab *, uintptr_t, uintptr_t);
hsh->val.hashtab = hash_new();
val->num, hsh->val.hashtab);
val->str, hsh->val.hashtab);
if (hash_find(hsh->val.hashtab, key, &ret)) {
if (!hash_insert(hsh->val.hashtab, key,
if (hash_find(hsh->val.hashtab, key, &ret)) {
if (!hash_insert(hsh->val.hashtab, key,
hsh->val.hashtab = hash_new();
val->num, hsh->val.hashtab);
val->str, hsh->val.hashtab);
hashtab = (const Elf_Hashelt *)(obj->relocbase +
obj->nbuckets = hashtab[0];
obj->nchains = hashtab[1];
obj->buckets = hashtab + 2;
hashtab = (const Elf_Hashelt *)(obj->relocbase +
obj->nbuckets_gnu = hashtab[0];
obj->symndx_gnu = hashtab[1];
nmaskwords = hashtab[2];
obj->shift2_gnu = hashtab[3];
obj->bloom_gnu = (Elf_Addr *) (hashtab + 4);
obj->buckets_gnu = hashtab + 4 + bloom_size32;
const Elf_Hashelt *hashtab;
ef->hashtab = (Elf_Hashelt*)(uintptr_t)(dp[i].d_un.d_ptr + off);
if (ef->hashtab == NULL || ef->symtab == NULL ||
COPYOUT(ef->hashtab, &ef->nbuckets, sizeof(ef->nbuckets));
COPYOUT(ef->hashtab + 1, &ef->nchains, sizeof(ef->nchains));
ef->buckets = ef->hashtab + 2;
Elf_Hashelt *hashtab;
const Elf_Hashelt *hashtab = (const Elf_Hashelt *)
ef->nbuckets = hashtab[0];
ef->nchains = hashtab[1];
ef->buckets = hashtab + 2;
struct hashtab *ctors;
ehash_find(const struct hashtab *tab, uintptr_t key, uintptr_t *val)
ehash_insert(struct hashtab *tab, uintptr_t key, uintptr_t val)
ehash_delete(struct hashtab *tab, uintptr_t key)
static struct hashtab *
struct hashtab *tab;
if (!(tab = calloc(1, sizeof(struct hashtab))))
hp = hashtab[0];
hp = hashtab[hno++];
hp = hashtab[i];
hp->h_link = hashtab[h];
hashtab[h] = hp;
for (hp = hashtab[h]; hp != NULL; hp = hp->h_link)
static struct hent *hashtab[HSHSIZE]; /* Hash table proper */