[v2 0/9] RFC: port gas to use libiberty htab hash table
Alan Modra
amodra@gmail.com
Thu Aug 20 01:36:52 GMT 2020
On Wed, Aug 19, 2020 at 10:28:47AM +0200, Martin Liska wrote:
> Hello.
>
> There's second version of the patch set where I did:
> - New htab_t related functions are implemented in gas/hash.c, libiberty
> maintainer was not happy about moving them to libiberty.
> - New str_hash_* function were added to support a string hash table
> based on htab_t.
> - Legacy hash table is removed in gas/hash.[ch]
> - Two related options are removed (--reduce-memory-overheads, --hash-size arguments)
>
> I tested the patchset on all targets.
> Thoughts?
Excellent. There was one small problem when compiling for a 32-bit
host:
/home/alan/src/binutils-gdb/gas/hash.c: In function ‘htab_print_statistics’:
/home/alan/src/binutils-gdb/gas/hash.c:53:20: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Werror=format=]
fprintf (f, "\t%lu elements\n", htab_elements (table));
~~^ ~~~~~~~~~~~~~~~~~~~~~
%u
/home/alan/src/binutils-gdb/gas/hash.c:54:20: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Werror=format=]
fprintf (f, "\t%lu table size\n", htab_size (table));
~~^ ~~~~~~~~~~~~~~~~~
%u
I fixed that, and decided I'd rather see the raw collision count than
a ratio so changed that too. There was also some commentary that is
no longer relevant in hash.c, and ChangeLog entries in gas/ChangeLog
shouldn't have leading "gas/" path names. And an extra hashtab.h in
as.h. Committed, thanks very much!
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list