fix char signedness bug in dynlinker hash function

this only affects non-ascii symbol names, which are probably not in
use anyway..
diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c
index 1b55e07..86d4b80 100644
--- a/src/ldso/dynlink.c
+++ b/src/ldso/dynlink.c
@@ -73,8 +73,9 @@
 	}
 }
 
-static uint32_t hash(const char *s)
+static uint32_t hash(const char *s0)
 {
+	const unsigned char *s = (void *)s0;
 	uint_fast32_t h = 0;
 	while (*s) {
 		h = 16*h + *s++;