[uClibc-cvs] svn commit: trunk/uClibc/ldso: include ldso

vapier at uclibc.org vapier at uclibc.org
Mon Jul 11 23:25:01 UTC 2005


Author: vapier
Date: 2005-07-11 17:25:00 -0600 (Mon, 11 Jul 2005)
New Revision: 10793

Log:
force hash buckets to work off of 32bit quantities

Modified:
   trunk/uClibc/ldso/include/dl-hash.h
   trunk/uClibc/ldso/ldso/dl-hash.c


Changeset:
Modified: trunk/uClibc/ldso/include/dl-hash.h
===================================================================
--- trunk/uClibc/ldso/include/dl-hash.h	2005-07-11 22:31:34 UTC (rev 10792)
+++ trunk/uClibc/ldso/include/dl-hash.h	2005-07-11 23:25:00 UTC (rev 10793)
@@ -33,14 +33,14 @@
   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;

Modified: trunk/uClibc/ldso/ldso/dl-hash.c
===================================================================
--- trunk/uClibc/ldso/ldso/dl-hash.c	2005-07-11 22:31:34 UTC (rev 10792)
+++ trunk/uClibc/ldso/ldso/dl-hash.c	2005-07-11 23:25:00 UTC (rev 10793)
@@ -101,7 +101,7 @@
 	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 @@
 	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;




More information about the uClibc-cvs mailing list