Browse Source

Fix function prototype to match the official ELF standard hash function

Eric Andersen 20 years ago
parent
commit
b340a56ee0
2 changed files with 3 additions and 3 deletions
  1. 1 1
      ldso/include/dl-hash.h
  2. 2 2
      ldso/ldso/dl-hash.c

+ 1 - 1
ldso/include/dl-hash.h

@@ -75,7 +75,7 @@ extern int _dl_linux_dynamic_link(void);
 
 extern char * _dl_library_path;
 extern char * _dl_not_lazy;
-extern unsigned long _dl_elf_hash(const char * name);
+extern unsigned long _dl_elf_hash(const unsigned char *name);
 
 static inline int _dl_symbol(char * name)
 {

+ 2 - 2
ldso/ldso/dl-hash.c

@@ -57,7 +57,7 @@ struct dyn_elf *_dl_handles = NULL;
 /* This is the hash function that is used by the ELF linker to generate the
  * hash table that each executable and library is required to have.  We need
  * it to decode the hash table.  */
-unsigned long _dl_elf_hash(const char *name)
+unsigned long _dl_elf_hash(const unsigned char *name)
 {
 	unsigned long hash = 0;
 	unsigned long tmp;
@@ -67,7 +67,7 @@ unsigned long _dl_elf_hash(const char *name)
 		if ((tmp = hash & 0xf0000000))
 			hash ^= tmp >> 24;
 		hash &= ~tmp;
-	};
+	}
 	return hash;
 }