ELF_HASH(3E)ELF_HASH(3E)


NAME
     elf_hash - Computes hash value

SYNOPSIS
     cc [flag ...] file ...  -lelf [library ...]

     #include <libelf.h>

     unsigned long elf_hash(const char *name);

DESCRIPTION
     elf_hash computes a hash value, given a null terminated string, name.
     The returned hash value, h, can be used as a bucket index, typically
     after computing h mod x to ensure appropriate bounds.

     Hash tables may be built on one machine and used on another because
     elf_hash uses unsigned arithmetic to avoid possible differences in
     various machines' signed arithmetic.  Although name is shown as char*
     above, elf_hash treats it as unsigned char* to avoid sign extension
     differences.  Using char* eliminates type conflicts with expressions
     such as elf_hash("name").

     ELF files' symbol hash tables are computed using this function; see
     elf_getdata(3E) and elf_xlate(3E).  The hash value returned is
     guaranteed not to be the bit pattern of all ones (~0UL).

SEE ALSO
     elf(3E), elf_getdata(3E), elf_xlate(3E)