From 84cc817ba5e546e0504767a1f7f286b17a838968 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 11 Jul 2005 23:25:00 +0000 Subject: force hash buckets to work off of 32bit quantities --- ldso/include/dl-hash.h | 4 ++-- ldso/ldso/dl-hash.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ldso/include/dl-hash.h b/ldso/include/dl-hash.h index 27177542b..3e6925432 100644 --- a/ldso/include/dl-hash.h +++ b/ldso/include/dl-hash.h @@ -33,14 +33,14 @@ struct elf_resolve{ unsigned short int init_flag; unsigned long rtld_flags; /* RTLD_GLOBAL, RTLD_NOW etc. */ unsigned int nbucket; - unsigned long * elf_buckets; + uint32_t *elf_buckets; struct init_fini_list *init_fini; struct init_fini_list *rtld_local; /* keep tack of RTLD_LOCAL libs in same group */ /* * These are only used with ELF style shared libraries */ unsigned long nchain; - unsigned long * chains; + uint32_t *chains; unsigned long dynamic_info[DYNAMIC_SIZE]; unsigned long n_phent; diff --git a/ldso/ldso/dl-hash.c b/ldso/ldso/dl-hash.c index 256f432f7..264c30593 100644 --- a/ldso/ldso/dl-hash.c +++ b/ldso/ldso/dl-hash.c @@ -101,7 +101,7 @@ struct elf_resolve *_dl_add_elf_hash_table(const char *libname, char *loadaddr, unsigned long *dynamic_info, unsigned long dynamic_addr, unsigned long dynamic_size) { - unsigned long *hash_addr; + uint32_t *hash_addr; struct elf_resolve *tpnt; int i; @@ -125,7 +125,7 @@ struct elf_resolve *_dl_add_elf_hash_table(const char *libname, tpnt->libtype = loaded_file; if (dynamic_info[DT_HASH] != 0) { - hash_addr = (unsigned long *) (intptr_t)(dynamic_info[DT_HASH]); + hash_addr = (uint32_t*)dynamic_info[DT_HASH]; tpnt->nbucket = *hash_addr++; tpnt->nchain = *hash_addr++; tpnt->elf_buckets = hash_addr; -- cgit v1.2.3