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] MIPS: Fix GOT page counter in multi-got links


> The record_got_page_entry function records and updates the maximum
> number of GOT page entries which may be required by an object. In the
> case where an existing GOT page entry was expanded, only the entry
> belonging to output GOT would have its page count updated. This leaves
> the entry belonging to the object GOT with the num_pages count of 1 it
> was originally initialized with. Later on when GOTs are being merged in a
> multi-got link, this causes the value of entry->num_pages in
> add_got_page_entries to always be 1 and underestimates the number of pages
> required for the new entry. This in turn leads to an assertion failure in
> get_got_page_offset where we run out of pages.
>
> Fix by obtaining the object's GOT entry unconditionally and not just
> the first time it gets created. Now that entry2 is always valid, remove
> the useless NULL checks.
>
> I need someone to commit this for me.
>
> gold/
> 2018-02-20  James Cowgill  <james.cowgill@mips.com>
>
>         PR gold/22770
>         * mips.cc (Mips_got_info::record_got_page_entry): Fetch existing
>         page entries for the object's GOT.

Sorry, this patch slipped through my mail filters. I've committed the
patch on your behalf.

-cary


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