[GOLD] Reduce size of class Symbol
authorAlan Modra <amodra@gmail.com>
Tue, 29 Aug 2017 06:22:45 +0000 (15:52 +0930)
committerAlan Modra <amodra@gmail.com>
Tue, 29 Aug 2017 11:59:37 +0000 (21:29 +0930)
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.


No differences found
This page took 0.023963 seconds and 4 git commands to generate.