Change bfd_link_hash_entry.type to a bitfield?

Richard Sandiford richard.sandiford@linaro.org
Thu Apr 21 11:55:00 GMT 2011


"H.J. Lu" <hjl.tools@gmail.com> writes:
> On Wed, Apr 20, 2011 at 6:57 PM, Alan Modra <amodra@gmail.com> wrote:
>> How do people feel about poking some flags into bfd_link_hash_entry?
>> This can be done without increasing the size of the struct, since
>> "type" is an unsigned int but only needs 3 bits.  The negative side is
>> that hosts without efficient byte read access will see a linker
>> slowdown.  "type" is the most used field of bfd_link_hash_entry.
>> On the positive side, this would allow the linker lto plugin code to
>> lose a potentially very large symbol hash table.  Also, other fields
>> from elf_link_hash_entry and coff_link_hash_entry could move into
>> bfd_link_hash_entry, reducing the size of the linker hash table.
>>
>
> I like it,

+1.  How about defining ENUM_BITFIELD in ansidecl.h, so that other
headers could use it too?

Richard



More information about the Binutils mailing list