ELF_HASH(3E) ELF_HASH(3E)
elf_hash - compute hash value
cc [flag ...] file ... -lelf [library ...]
#include <libelf.h>
unsigned long elf_hash(const char *name);
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).
elf(3E), elf_getdata(3E), elf_xlate(3E).
PPPPaaaaggggeeee 1111 [ Back ]
|