public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] dwarf-reader: Use high bits of Bloom filter words.
@ 2020-03-18 10:20 Giuliano Procida
  2020-03-18 11:37 ` Matthias Maennich
  0 siblings, 1 reply; 8+ messages in thread
From: Giuliano Procida @ 2020-03-18 10:20 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, kernel-team, gprocida

Most of the bit values used for GNU hash ELF section Bloom filtering
were being ignored due to integer narrowing, reducing missing symbol
filtering efficiency considerably.

This patch fixes this.

	* src/abg-dwarf-reader.cc (lookup_symbol_from_gnu_hash_tab):
	Don't narrow calculated Bloom word to 8 bits before using it
	to mask the fetched Bloom word.
---
 src/abg-dwarf-reader.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 3454fcf5..5556bde5 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -2025,7 +2025,7 @@ lookup_symbol_from_gnu_hash_tab(const environment*		env,
   // filter, in bits.
   int c = get_elf_class_size_in_bytes(elf_handle) * 8;
   int n =  (h1 / c) % ht.bf_nwords;
-  unsigned char bitmask = (1ul << (h1 % c)) | (1ul << (h2 % c));
+  GElf_Word bitmask = (1ul << (h1 % c)) | (1ul << (h2 % c));
 
   // Test if the symbol is *NOT* present in this ELF file.
   if ((bloom_word_at(elf_handle, ht.bloom_filter, n) & bitmask) != bitmask)
-- 
2.25.1.481.gfbce0eb801-goog


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-03-19 15:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-18 10:20 [PATCH] dwarf-reader: Use high bits of Bloom filter words Giuliano Procida
2020-03-18 11:37 ` Matthias Maennich
2020-03-18 12:12   ` [PATCH v2] dwarf-reader: Use all " Giuliano Procida
2020-03-19 10:20     ` Dodji Seketeli
2020-03-19 10:46       ` Giuliano Procida
2020-03-19 11:05         ` Matthias Männich
2020-03-19 15:17           ` Dodji Seketeli
2020-03-18 12:13   ` [PATCH] dwarf-reader: Use high " Giuliano Procida

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).