about summary refs log tree commit diff
path: root/elf/do-lookup.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-08-21 14:05:39 +0000
committerUlrich Drepper <drepper@redhat.com>2007-08-21 14:05:39 +0000
commitd979c2f1e684c839438946dd66ed5ad8dc3fc4d0 (patch)
treef05d515a876090307428efaa7fb032b733fd76ab /elf/do-lookup.h
parentb211fe0fef0629f63c49fd223e76f3182d8a96fe (diff)
downloadglibc-d979c2f1e684c839438946dd66ed5ad8dc3fc4d0.tar.gz
glibc-d979c2f1e684c839438946dd66ed5ad8dc3fc4d0.tar.xz
glibc-d979c2f1e684c839438946dd66ed5ad8dc3fc4d0.zip
(do_lookup_x): Minimal improvement in hash lookup loop.
Diffstat (limited to 'elf/do-lookup.h')
-rw-r--r--elf/do-lookup.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/elf/do-lookup.h b/elf/do-lookup.h
index ab9a510ba1..e17d463526 100644
--- a/elf/do-lookup.h
+++ b/elf/do-lookup.h
@@ -190,7 +190,7 @@ do_lookup_x (const char *undef_name, uint_fast32_t new_hash,
 		  const Elf32_Word *hasharr = &map->l_gnu_chain_zero[bucket];
 
 		  do
-		    if ((*hasharr & ~1u) == (new_hash & ~1u))
+		    if (((*hasharr ^ new_hash) >> 1) == 0)
 		      {
 			symidx = hasharr - map->l_gnu_chain_zero;
 			sym = check_match (&symtab[symidx]);