From f23aa297ee7cc7af6fb8964d868a0ba059e83195 Mon Sep 17 00:00:00 2001 From: Peter Wemm Date: Thu, 11 Apr 2002 09:30:15 +0000 Subject: [PATCH] Make kldxref work for Elf64 (which has 32 bit hash tables) --- usr.sbin/kldxref/ef.c | 4 ++-- usr.sbin/kldxref/ef.h | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/usr.sbin/kldxref/ef.c b/usr.sbin/kldxref/ef.c index 74b1b0967a79..4437effcfbe8 100644 --- a/usr.sbin/kldxref/ef.c +++ b/usr.sbin/kldxref/ef.c @@ -148,7 +148,7 @@ int ef_parse_dynamic(elf_file_t ef) { Elf_Dyn *dp; - Elf_Off hashhdr[2]; + Elf_Hashelt hashhdr[2]; /* int plttype = DT_REL;*/ int error; @@ -165,7 +165,7 @@ ef_parse_dynamic(elf_file_t ef) ef->ef_nbuckets = hashhdr[0]; ef->ef_nchains = hashhdr[1]; error = ef_read_entry(ef, -1, - (hashhdr[0] + hashhdr[1]) * sizeof(Elf_Off), + (hashhdr[0] + hashhdr[1]) * sizeof(Elf_Hashelt), (void**)&ef->ef_hashtab); if (error) { warnx("can't read hash table"); diff --git a/usr.sbin/kldxref/ef.h b/usr.sbin/kldxref/ef.h index 7dd110f05498..1609bb819d7f 100644 --- a/usr.sbin/kldxref/ef.h +++ b/usr.sbin/kldxref/ef.h @@ -15,11 +15,11 @@ typedef struct elf_file { void* ef_fpage; /* First block of the file */ int ef_fplen; /* length of first block */ Elf_Dyn* ef_dyn; /* Symbol table etc. */ - Elf_Off ef_nbuckets; - Elf_Off ef_nchains; - Elf_Off* ef_buckets; - Elf_Off* ef_chains; - Elf_Off* ef_hashtab; + Elf_Hashelt ef_nbuckets; + Elf_Hashelt ef_nchains; + Elf_Hashelt* ef_buckets; + Elf_Hashelt* ef_chains; + Elf_Hashelt* ef_hashtab; Elf_Off ef_stroff; caddr_t ef_strtab; int ef_strsz;