diff options
author | Alan Modra <amodra@gmail.com> | 2017-08-29 15:52:45 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-08-29 21:29:37 +0930 |
commit | 34ca2bd7ace5e208d46fea6e7a56a5376de0abfe (patch) | |
tree | e94fa309fc1b405d885c17c8d230d243334f50b0 /elfcpp | |
parent | f2d394fce1f37a07148719c4bc919ca7b7a0b025 (diff) | |
download | binutils-gdb-34ca2bd7ace5e208d46fea6e7a56a5376de0abfe.tar.gz |
[GOLD] Reduce size of class Symbol
On 64-bit targets there is a 32-bit hole in symbol->u_, and another
due to symbol flags exceeding 32 bits. By splitting the union,
the total size of the class reduces by one 64-bit word.
* symtab.h (Symbol): Split u_ into u1_ and u2_. Adjust accessors
to suit. Move plt_offset_ before got_offsets_.
* symtab.cc (Symbol::init_fields): Adjust for union change.
(Symbol::init_base_output_data): Likewise.
(Symbol::init_base_output_segment): Likewise.
(Symbol::allocate_base_common): Likewise.
(Symbol::output_section): Likewise.
(Symbol::set_output_section): Likewise.
(Symbol::set_output_segment): Likewise.
* resolve.cc (Symbol::override_base): Likewise.
(Symbol::override_base_with_special): Likewise.
Diffstat (limited to 'elfcpp')
0 files changed, 0 insertions, 0 deletions