summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libdl/elf_hash.c
blob: 463dba0dd6bdac7b0cf363e55d35bfd1d09b23f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
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;
}