summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libdl/elf_hash.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/libdl/elf_hash.c')
-rw-r--r--mdk-stage1/dietlibc/libdl/elf_hash.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/libdl/elf_hash.c b/mdk-stage1/dietlibc/libdl/elf_hash.c
new file mode 100644
index 000000000..463dba0dd
--- /dev/null
+++ b/mdk-stage1/dietlibc/libdl/elf_hash.c
@@ -0,0 +1,12 @@
+unsigned long elf_hash(const unsigned char *name)
+{
+ unsigned long h=0, g;
+
+ while (*name)
+ {
+ h = (h<<4) + *(name++);
+ if (g = h&0xf0000000) h ^= g>>24;
+ h &= ~g;
+ }
+ return h;
+}