diff options
author | Cl?ment Chigot <clement.chigot@atos.net> | 2022-04-20 15:07:50 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2022-04-20 15:07:50 +0100 |
commit | 1876a542175ef438d6aaafeccb479024994b938d (patch) | |
tree | 1a60756413f36963d9fded458ae99cb84135373a /include/coff | |
parent | 3b70bcb00f443259b444b3fc543899047ac7f44e (diff) | |
download | binutils-1876a542175ef438d6aaafeccb479024994b938d.zip binutils-1876a542175ef438d6aaafeccb479024994b938d.tar.gz binutils-1876a542175ef438d6aaafeccb479024994b938d.tar.bz2 |
Stubs (added in a later patch) will generate new .loader symbols, once the allocations have been done. Thus, the .loader section cannot be layout before that.
bfd/ChangeLog:
* coff-rs6000.c (_bfd_xcoff_put_ldsymbol_name): Write len in
ldinfo->strings instead of directly in the output_bfd.
* coff64-rs6000.c (_bfd_xcoff64_put_ldsymbol_name): Likewise.
* xcofflink.c (struct xcoff_link_hash_table): Remove ldrel_count
field. Add ldinfo field.
(xcoff_mark_symbol): Adjust to new ldinfo field.
(xcoff_mark): Likewise.
(bfd_xcoff_link_count_reloc): Likewise.
(xcoff_build_loader_section): Split into two functions: one that
build the loader section (this function) and one that only size
it...
(xcoff_size_loader_section): ... (this function).
(bfd_xcoff_size_dynamic_sections): Adapt to new ldinfo field.
Move the part where the dynamic sections are build to ...
(bfd_xcoff_build_dynamic_sections): ... this function.
* xcofflink.h: Add bfd_xcoff_build_dynamic_sections prototype.
include/ChangeLog:
* coff/xcoff.h (struct xcoff_loader_info): Add ldrel_count and
libpath fields.
ld/ChangeLog:
* emultempl/aix.em (_after_allocation): New function.
Diffstat (limited to 'include/coff')
-rw-r--r-- | include/coff/xcoff.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/coff/xcoff.h b/include/coff/xcoff.h index acadf54..0770d04 100644 --- a/include/coff/xcoff.h +++ b/include/coff/xcoff.h @@ -432,6 +432,10 @@ struct xcoff_loader_info /* Number of ldsym structures. */ size_t ldsym_count; + /* A count of non TOC relative relocs which will need to be + allocated in the .loader section. */ + size_t ldrel_count; + /* Size of string table. */ size_t string_size; @@ -440,6 +444,9 @@ struct xcoff_loader_info /* Allocated size of string table. */ size_t string_alc; + + /* The libpath being used. */ + const char *libpath; }; /* In case we're on a 32-bit machine, construct a 64-bit "-1" value |