* elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count
	if there are TLS relocations.
This commit is contained in:
Richard Sandiford 2013-02-11 17:25:23 +00:00
parent 9efeb38dd1
commit 172149374e
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
* elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count
if there are TLS relocations.
2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
* elfxx-mips.c (mips_elf_recreate_got): Remove free.

View File

@ -4275,10 +4275,10 @@ mips_elf_merge_got_with (struct mips_elf_bfd2got_hash *bfd2got,
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
/* If we're merging with the primary got, any TLS relocations will
come after the full set of global entries. Otherwise estimate those
conservatively as well. */
if (to == arg->primary)
if (to == arg->primary && from->tls_gotno + to->tls_gotno)
estimate += arg->global_count;
else
estimate += from->global_gotno + to->global_gotno;