x86: Set GOT refcount to 1
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 10 Oct 2017 22:52:39 +0000 (15:52 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 10 Oct 2017 22:52:39 +0000 (15:52 -0700)
commit0f09b4d8d8f7c5d249c8375c5c42d4eba3bdc858
tree9bca357bd0597b03ae9aef012325061e696dba8c
parent2f20e312aad64c0f5257b9725fa5ffa3e8a93ca2
x86: Set GOT refcount to 1

Since x86 check_relocs is called after opening all inputs and garbage
collection, they never see the removed sections.  There is no need
for incrementing GOT refcount.  But since PLT refcount is also used in

  /* Don't create the PLT entry if there are only function pointer
     relocations which can be resolved at run-time.  */
  else if (htab->elf.dynamic_sections_created
           && (h->plt.refcount > eh->func_pointer_refcount
               || eh->plt_got.refcount > 0))
    {

we must increment it.

* elf32-i386.c (elf_i386_check_relocs): Set GOT refcount to 1
instead of incrementing it.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
bfd/ChangeLog
bfd/elf32-i386.c
bfd/elf64-x86-64.c