dynamic linker 64bit fix: hash table entries are always 32bit
This commit is contained in:
parent
51e2d83102
commit
596d60c565
1 changed files with 2 additions and 2 deletions
|
|
@ -35,7 +35,7 @@ struct dso
|
||||||
int refcnt;
|
int refcnt;
|
||||||
size_t *dynv;
|
size_t *dynv;
|
||||||
Sym *syms;
|
Sym *syms;
|
||||||
size_t *hashtab;
|
uint32_t *hashtab;
|
||||||
char *strings;
|
char *strings;
|
||||||
unsigned char *base;
|
unsigned char *base;
|
||||||
unsigned char *map;
|
unsigned char *map;
|
||||||
|
|
@ -71,7 +71,7 @@ static uint32_t hash(const char *s)
|
||||||
return h & 0xfffffff;
|
return h & 0xfffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Sym *lookup(const char *s, uint32_t h, Sym *syms, size_t *hashtab, char *strings)
|
static Sym *lookup(const char *s, uint32_t h, Sym *syms, uint32_t *hashtab, char *strings)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
for (i=hashtab[2+h%hashtab[0]]; i; i=hashtab[2+hashtab[0]+i]) {
|
for (i=hashtab[2+h%hashtab[0]]; i; i=hashtab[2+hashtab[0]+i]) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue