diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2009-04-01 19:38:11 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2009-04-01 19:38:11 +0000 |
commit | d286971a6bf52ec49862a488ada6c0566263ad7b (patch) | |
tree | e0ed335152a4d4dede7d2af54628e1d832914624 /bfd/xcofflink.c | |
parent | b3d1832c347fbfdf0c816aaa8910fc327c929b02 (diff) | |
download | gdb-d286971a6bf52ec49862a488ada6c0566263ad7b.zip gdb-d286971a6bf52ec49862a488ada6c0566263ad7b.tar.gz gdb-d286971a6bf52ec49862a488ada6c0566263ad7b.tar.bz2 |
include/coff/
* xcoff.h (xcoff_link_hash_table): Move to bfd/xcofflink.c.
bfd/
* xcofflink.c (xcoff_link_hash_table): Moved from include/coff/xcoff.h.
Diffstat (limited to 'bfd/xcofflink.c')
-rw-r--r-- | bfd/xcofflink.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index 6905a3a..1c205f9 100644 --- a/bfd/xcofflink.c +++ b/bfd/xcofflink.c @@ -75,6 +75,67 @@ struct xcoff_link_section_info } *toc_rel_hashes; }; +struct xcoff_link_hash_table +{ + struct bfd_link_hash_table root; + + /* The .debug string hash table. We need to compute this while + reading the input files, so that we know how large the .debug + section will be before we assign section positions. */ + struct bfd_strtab_hash *debug_strtab; + + /* The .debug section we will use for the final output. */ + asection *debug_section; + + /* The .loader section we will use for the final output. */ + asection *loader_section; + + /* A count of non TOC relative relocs which will need to be + allocated in the .loader section. */ + size_t ldrel_count; + + /* The .loader section header. */ + struct internal_ldhdr ldhdr; + + /* The .gl section we use to hold global linkage code. */ + asection *linkage_section; + + /* The .tc section we use to hold toc entries we build for global + linkage code. */ + asection *toc_section; + + /* The .ds section we use to hold function descriptors which we + create for exported symbols. */ + asection *descriptor_section; + + /* The list of import files. */ + struct xcoff_import_file *imports; + + /* Required alignment of sections within the output file. */ + unsigned long file_align; + + /* Whether the .text section must be read-only. */ + bfd_boolean textro; + + /* Whether -brtl was specified. */ + bfd_boolean rtld; + + /* Whether garbage collection was done. */ + bfd_boolean gc; + + /* A linked list of symbols for which we have size information. */ + struct xcoff_link_size_list + { + struct xcoff_link_size_list *next; + struct xcoff_link_hash_entry *h; + bfd_size_type size; + } + *size_list; + + /* Magic sections: _text, _etext, _data, _edata, _end, end. */ + asection *special_sections[XCOFF_NUMBER_OF_SPECIAL_SECTIONS]; +}; + /* Information that we pass around while doing the final link step. */ struct xcoff_final_link_info |