diff options
author | Oleg Tolmatcev <oleg.tolmatcev@gmail.com> | 2023-05-16 14:25:32 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2023-05-16 14:25:32 +0100 |
commit | 0e759f232b6def277d4ae3f2d8bccfe6e34d6034 (patch) | |
tree | ecf626fa9cad39ed53b9582ad5143f68c47491ed /bfd/libcoff-in.h | |
parent | 73eff1cbd3e35f9f3ea3f69d145aa74c57043953 (diff) | |
download | gdb-0e759f232b6def277d4ae3f2d8bccfe6e34d6034.zip gdb-0e759f232b6def277d4ae3f2d8bccfe6e34d6034.tar.gz gdb-0e759f232b6def277d4ae3f2d8bccfe6e34d6034.tar.bz2 |
Add section caches to coff_data_type
* libcoff-in.h (struct coff_tdata): Add section_by_index and section_by_target_index hash tables.
* libcoff.h: Regenerate.
* coffcode.h (htab_hash_section_index): New function. (htab_eq_section_index): New function. (htab_hash_section_target_index): New function. (htab_eq_section_target_index): New function. (coff_mkobject_hool): Create the hash tables.
* peicode.h: Add the same new functions. (pe_mkobject_hook): Create the hash tables.
* coff-x86_64.c (coff_amd64_rtype_to_howto): Use the new tables to speed up lookups.
* coffgen.c (coff_section_from_bfd_index): Likewise. (_bfd_coff_close_and_cleanup): Delete the hash tables.
Diffstat (limited to 'bfd/libcoff-in.h')
-rw-r--r-- | bfd/libcoff-in.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/bfd/libcoff-in.h b/bfd/libcoff-in.h index d0839c7..9c5780b 100644 --- a/bfd/libcoff-in.h +++ b/bfd/libcoff-in.h @@ -24,6 +24,7 @@ #include "bfdlink.h" #include "coff-bfd.h" +#include "hashtab.h" #ifdef __cplusplus extern "C" { @@ -129,6 +130,13 @@ typedef struct coff_tdata COFF object into memory. */ char * stub; bfd_size_type stub_size; + + /* Hash table containing sections by target index. */ + htab_t section_by_target_index; + + /* Hash table containing sections by index. */ + htab_t section_by_index; + } coff_data_type; /* Tdata for pe image files. */ |