[PATCH 0/4] RFC: port gas to use libiberty htab hash table

Martin Liska mliska@suse.cz
Sat Aug 15 18:04:26 GMT 2020


Motivation of the change is mentioned in PR gas/26381 where gas is right
now using a fixed sized hash tables. That brings problems for large application
with LTO where one assembled .s file can be ~100MB big.

This patch set is first part of transition where I would like to hear a feadback
from community. I'm planning to carry on and migrate all hash tables in gas
so that gas/hash.[ch] can be removed.

I tested my patches on x86_64-linux-gnu and I also build and tested iq2000
cross binutils.

Thoughts?
Thanks,
Martin

Martin Liska (4):
  libibery/hashtab: add new functions
  Use libiberty hash in gas/macro.c.
  Use libiberty hash in gas/read.c.
  Use libiberty hash in gas/symbols.c.

 gas/as.h               |   1 +
 gas/config/tc-iq2000.c |  14 +++--
 gas/macro.c            |  63 +++++++++++-----------
 gas/macro.h            |  94 ++++++++++++++++++++++++++++++++-
 gas/read.c             |  72 ++++++++++++++++++++-----
 gas/symbols.c          | 117 ++++++++++++++++++++++++++++-------------
 include/hashtab.h      |   6 +++
 libiberty/hashtab.c    |  23 ++++++++
 8 files changed, 301 insertions(+), 89 deletions(-)

-- 
2.28.0



More information about the Binutils mailing list