auto import from //depot/cupcake/@135843

This commit is contained in:
The Android Open Source Project
2009-03-03 19:28:42 -08:00
parent 05806d7af6
commit 88b607994a
404 changed files with 43942 additions and 0 deletions

27
tools/apriori/hash.c Normal file
View File

@@ -0,0 +1,27 @@
#include <common.h>
#include <debug.h>
#include <libelf.h>
#include <hash.h>
#include <string.h>
int hash_lookup(Elf *elf,
Elf_Data *hash,
Elf_Data *symtab,
Elf_Data *symstr,
const char *symname) {
Elf32_Word *hash_data = (Elf32_Word *)hash->d_buf;
Elf32_Word index;
Elf32_Word nbuckets = *hash_data++;
Elf32_Word *buckets = ++hash_data;
Elf32_Word *chains = hash_data + nbuckets;
index = buckets[elf_hash(symname) % nbuckets];
while (index != STN_UNDEF &&
strcmp((char *)symstr->d_buf +
((Elf32_Sym *)symtab->d_buf)[index].st_name,
symname)) {
index = chains[index];
}
return index;
}