summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-07-11 23:25:00 +0000
committerMike Frysinger <vapier@gentoo.org>2005-07-11 23:25:00 +0000
commit84cc817ba5e546e0504767a1f7f286b17a838968 (patch)
treec7ca31f585df6077eb66cf976cf8668e88fd98e4
parente55e48a9f6d2a77c501315dde907b1d14eeabc60 (diff)
force hash buckets to work off of 32bit quantities
-rw-r--r--ldso/include/dl-hash.h4
-rw-r--r--ldso/ldso/dl-hash.c4
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;