From 0d23328513b6fda9fa4d9c500a8aaf0ac9ab782b Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 3 Jun 2009 16:58:12 +0000 Subject: [PATCH] 2009-06-03 H.J. Lu * elf32-i386.c (elf_i386_allocate_dynrelocs): Remove check of h->plt.refcount > 0 on STT_GNU_IFUNC symbol. * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-i386.c | 3 --- bfd/elf64-x86-64.c | 3 --- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ef39b35c50..ea2f0a0850 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,11 @@ 2009-06-03 H.J. Lu + * elf32-i386.c (elf_i386_allocate_dynrelocs): Remove check of + h->plt.refcount > 0 on STT_GNU_IFUNC symbol. + * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise. + +2009-06-03 H.J. Lu + * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate GOT entry for STT_GNU_IFUNC symbol with pointer equality. (elf_i386_relocate_section): Adjust R_386_GOT32 relocation diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 81b5093664..05aada1a3f 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -1955,9 +1955,6 @@ elf_i386_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) return TRUE; } - if (h->plt.refcount <= 0) - abort (); - /* When building a static executable, use .iplt, .igot.plt and .rel.iplt sections for STT_GNU_IFUNC symbols. */ if (htab->splt != 0) diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 1dec3c3b33..041e28519e 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -1793,9 +1793,6 @@ elf64_x86_64_allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) return TRUE; } - if (h->plt.refcount <= 0) - abort (); - /* When building a static executable, use .iplt, .igot.plt and .rela.iplt sections for STT_GNU_IFUNC symbols. */ if (htab->splt != 0) -- 2.11.0