public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* abg-dwarf-reader.cc - trouble with GNU hash tables
@ 2020-03-19 16:42 Giuliano Procida
  2020-03-20 22:22 ` Dodji Seketeli
  0 siblings, 1 reply; 2+ messages in thread
From: Giuliano Procida @ 2020-03-19 16:42 UTC (permalink / raw)
  To: libabigail

Looking up symbols in shared objects with .gnu.hash sections doesn't
always work. There is something not right with the Bloom filter code.

Testing notes follow. Ideally we should create files targeting a
diversity of architectures (word size, endianness, special ones like
Alpha and S390).

for y in {0..999}; do echo $(printf "int x%03d = $y;" $y); done > extern.c
gcc -g -Wall -W -fPIC --shared -c extern.c -o extern.o
ld -fPIC --shared --soname foo extern.o -o extern.so
for y in {0..999}; do sym=$(printf "x%03d" $y); build/tools/abisym
extern.so "$sym"; done | grep -c ^could
--> should be 0

Giuliano.

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

* Re: abg-dwarf-reader.cc - trouble with GNU hash tables
  2020-03-19 16:42 abg-dwarf-reader.cc - trouble with GNU hash tables Giuliano Procida
@ 2020-03-20 22:22 ` Dodji Seketeli
  0 siblings, 0 replies; 2+ messages in thread
From: Dodji Seketeli @ 2020-03-20 22:22 UTC (permalink / raw)
  To: Giuliano Procida; +Cc: libabigail

Hello Giuliano,

Giuliano Procida via Libabigail <libabigail@sourceware.org> a écrit:

> Looking up symbols in shared objects with .gnu.hash sections doesn't
> always work. There is something not right with the Bloom filter code.

Hopefully, the patch at
https://sourceware.org/git/?p=libabigail.git;a=commit;h=b1b0586dc208726bd5de5728caf1ead119413fce
should address that.

> Testing notes follow. Ideally we should create files targeting a
> diversity of architectures (word size, endianness, special ones like
> Alpha and S390).
>
> for y in {0..999}; do echo $(printf "int x%03d = $y;" $y); done > extern.c
> gcc -g -Wall -W -fPIC --shared -c extern.c -o extern.o
> ld -fPIC --shared --soname foo extern.o -o extern.so
> for y in {0..999}; do sym=$(printf "x%03d" $y); build/tools/abisym
> extern.so "$sym"; done | grep -c ^could
> --> should be 0
>

Thanks for the test.  I ran it on ppc64 an amd64 at least.

We'll see what the builders over at
https://builder.wildebeest.org/buildbot report.

Cheers,

-- 
		Dodji

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

end of thread, other threads:[~2020-03-20 22:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-19 16:42 abg-dwarf-reader.cc - trouble with GNU hash tables Giuliano Procida
2020-03-20 22:22 ` Dodji Seketeli

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).