Use the correct elf hash table entry type. This matches a similar fix
in the kernel side of things some time ago. The hash table entries are always 32 bits wide, even on 64 bit machines.
This commit is contained in:
parent
4e70269a83
commit
66482b75cf
@ -48,11 +48,11 @@ typedef struct elf_file {
|
||||
Elf_Phdr *ph;
|
||||
Elf_Ehdr *ehdr;
|
||||
Elf_Sym *symtab;
|
||||
Elf_Off *hashtab;
|
||||
Elf_Off nbuckets;
|
||||
Elf_Off nchains;
|
||||
Elf_Off* buckets;
|
||||
Elf_Off* chains;
|
||||
Elf_Hashelt *hashtab;
|
||||
Elf_Hashelt nbuckets;
|
||||
Elf_Hashelt nchains;
|
||||
Elf_Hashelt *buckets;
|
||||
Elf_Hashelt *chains;
|
||||
char *strtab;
|
||||
size_t strsz;
|
||||
int fd;
|
||||
@ -481,7 +481,7 @@ elf_loadimage(struct preloaded_file *fp, elf_file_t ef, vm_offset_t off)
|
||||
break;
|
||||
switch (dp[i].d_tag) {
|
||||
case DT_HASH:
|
||||
ef->hashtab = (Elf_Off*)(dp[i].d_un.d_ptr + off);
|
||||
ef->hashtab = (Elf_Hashelt*)(dp[i].d_un.d_ptr + off);
|
||||
break;
|
||||
case DT_STRTAB:
|
||||
ef->strtab = (char *)(dp[i].d_un.d_ptr + off);
|
||||
|
Loading…
Reference in New Issue
Block a user