/* Add one library to the cache. */
void
add_to_cache (const char *path, const char *filename, const char *soname,
- int flags, unsigned int isa_level, uint64_t hwcap,
+ int flags, unsigned int isa_level,
struct glibc_hwcaps_subdirectory *hwcaps)
{
struct cache_entry *new_entry = xmalloc (sizeof (*new_entry));
new_entry->path = path_interned;
new_entry->flags = flags;
new_entry->isa_level = isa_level;
- new_entry->hwcap = hwcap;
+ new_entry->hwcap = 0;
new_entry->hwcaps = hwcaps;
new_entry->bits_hwcap = 0;
if (hwcaps != NULL)
- {
- assert (hwcap == 0);
- hwcaps->used = true;
- }
-
- /* Count the number of bits set in the masked value. */
- for (size_t i = 0;
- (~((1ULL << i) - 1) & hwcap) != 0 && i < 8 * sizeof (hwcap); ++i)
- if ((hwcap & (1ULL << i)) != 0)
- ++new_entry->bits_hwcap;
-
+ hwcaps->used = true;
/* Keep the list sorted - search for right place to insert. */
struct cache_entry *ptr = entries;
}
if (opt_build_cache)
add_to_cache (entry->path, filename, dlib_ptr->soname,
- dlib_ptr->flag, dlib_ptr->isa_level, 0,
- entry->hwcaps);
+ dlib_ptr->flag, dlib_ptr->isa_level, entry->hwcaps);
}
/* Free all resources. */
extern void add_to_cache (const char *path, const char *filename,
const char *soname, int flags,
- unsigned int isa_level, uint64_t hwcap,
+ unsigned int isa_level,
struct glibc_hwcaps_subdirectory *);
extern void init_aux_cache (void);