/* Current number of elements. */
size_t n_elements;
-};
+};
inline static int
hash_pointer (const void *p)
ht->entries = _dl_malloc (sizeof (struct funcdesc_ht_value *) * ht->size);
if (! ht->entries)
return NULL;
-
+
ht->n_elements = 0;
_dl_memset (ht->entries, 0, sizeof (struct funcdesc_ht_value *) * ht->size);
-
+
return ht;
}
goto empty_entry;
else if ((*entry)->entry_point == ptr)
return entry;
-
+
hash2 = 1 + hash % (size - 2);
for (;;)
{
index += hash2;
if (index >= size)
index -= size;
-
+
entry = &htab->entries[index];
if (!*entry)
goto empty_entry;
if ((Elf32_Addr)address & 7)
/* It's not a function descriptor. */
return address;
-
+
fd = (struct funcdesc_value const *)address;
for (rpnt = _dl_loaded_modules; rpnt; rpnt = rpnt->next)
else
address = fd;
}
-
+
return address;
}