PR ld/12637
	* elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count
	as the number of global entries when merging with the primary GOT.
This commit is contained in:
Richard Sandiford 2011-04-10 11:10:30 +00:00
parent a9f20cdf6f
commit e2ece73c64
2 changed files with 17 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2011-04-10 Richard Sandiford <rdsandiford@googlemail.com>
PR ld/12637
* elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count
as the number of global entries when merging with the primary GOT.
2011-04-09 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c: Update copyright year.

View File

@ -4080,14 +4080,18 @@ mips_elf_merge_got_with (struct mips_elf_bfd2got_hash *bfd2got,
if (estimate >= from->page_gotno + to->page_gotno)
estimate = from->page_gotno + to->page_gotno;
/* And conservatively estimate how many local, global and TLS entries
/* And conservatively estimate how many local and TLS entries
would be needed. */
estimate += (from->local_gotno
+ from->global_gotno
+ from->tls_gotno
+ to->local_gotno
+ to->global_gotno
+ to->tls_gotno);
estimate += from->local_gotno + to->local_gotno;
estimate += from->tls_gotno + to->tls_gotno;
/* If we're merging with the primary got, we will always have
the full set of global entries. Otherwise estimate those
conservatively as well. */
if (to == arg->primary)
estimate += arg->global_count;
else
estimate += from->global_gotno + to->global_gotno;
/* Bail out if the combined GOT might be too big. */
if (estimate > arg->max_count)