[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    elf_hash(3E) manual page Table of Contents

Name

elf_hash - compute hash value

Synopsis

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

#include <libelf.h>

unsigned long elf_hash(const char *name);

MT-Level

Unsafe

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 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 elf32_xlatetof(3E) ). The hash value returned is guaranteed not to be the bit pattern of all ones (~0UL ).

See Also

elf(3E) , elf_getdata(3E) , elf32_xlatetof(3E)


Table of Contents