about summary refs log tree commit diff
diff options
context:
space:
mode:
-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]);