diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-07-11 23:25:00 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-07-11 23:25:00 +0000 |
commit | 84cc817ba5e546e0504767a1f7f286b17a838968 (patch) | |
tree | c7ca31f585df6077eb66cf976cf8668e88fd98e4 | |
parent | e55e48a9f6d2a77c501315dde907b1d14eeabc60 (diff) |
force hash buckets to work off of 32bit quantities
-rw-r--r-- | ldso/include/dl-hash.h | 4 | ||||
-rw-r--r-- | 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; |