Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_hash(3E) — Motorola System V 88k Release 4 Version 4.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

elf_getdata(3E)

elf_xlate(3E)

elf_hash(3E)  —  ELF LIBRARY FUNCTIONS

NAME

elf_hash − compute 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)

  —  ELF Library

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026