This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] (version 2) Change MIPS linker stubs to allow for more than 2^15 symbols.


Thiemo Seufer <ths@networkno.de> writes:
> Richard Sandiford wrote:
>> David Daney <ddaney@avtrex.com> writes:
>> > ! #define MIPS_FUNCTION_STUB_SIZE(INFO) \
>> > !   (elf_hash_table (INFO)->dynsymcount > 65536 ? 20 : 16)
>> 
>> Sorry to be a pain, but as I said earlier, I really do think we should
>> cache the chosen stub size in mips_elf_link_hash_table (and get rid of
>> this macro entirely).  That will emphasise that always_size_dynamic_sections
>> is the place that makes the decision, and that it's only safe to use this
>> value once that function has been called.  I think that will be more robust
>> and easier to understand in future.
>> 
>> Apart from that, and from Thiemo's and Daniel's comments, this looks
>> really good to me.  Thanks a lot for doing this!
>
> Does this followup patch look ok?

Looks good, apart from the fact that you're setting function_stub_size
in _bfd_mips_elf_create_dynamic_sections rather than the suggested
always_size_dynamic_sections.  Was there a particular reason for that?
As David says, create_dynamic_sections is too early; AIUI,
create_dynamic_sections is called as soon as we know we need
dynamic sections, so the value of dynsymcount at that point is
going to be pretty arbitrary.

The reason I suggested always_size_sections is that I think we should
determine the stub entry size and stub section size at the same time.

Thanks for doing this though!  I volunteer to come up with some
testcases tomorrow.

Richard


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]