aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf64-x86-64.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2009-07-10 10:04:20 +0000
committerAlan Modra <amodra@gmail.com>2009-07-10 10:04:20 +0000
commit7ae26bc141a487736f8590300fa40cf58daf4123 (patch)
treecbcebca2c4f34eb9be735a0715f403eab5c98d39 /bfd/elf64-x86-64.c
parentaf7b385cb919238f308d411e029defe23179aadb (diff)
downloadgdb-7ae26bc141a487736f8590300fa40cf58daf4123.zip
gdb-7ae26bc141a487736f8590300fa40cf58daf4123.tar.gz
gdb-7ae26bc141a487736f8590300fa40cf58daf4123.tar.bz2
* elf-bfd.h (struct elf_link_hash_entry): Clarify ref_regular
and ref_regular_nonweak comment. * elflink.c (elf_link_output_extsym): Special case ifunc syms when def_regular, not ref_regular. (elf_link_add_object_symbols): Don't set needs_plt on ifunc syms,.. * elf32-i386.c (elf_i386_check_relocs): ..set it here instead.. * elf64-x86-64.c (elf64_x86_64_check_relocs): ..and here.
Diffstat (limited to 'bfd/elf64-x86-64.c')
-rw-r--r--bfd/elf64-x86-64.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 274b874..6e868b3 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -1150,6 +1150,7 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
{
/* It is referenced by a non-shared object. */
h->ref_regular = 1;
+ h->needs_plt = 1;
/* STT_GNU_IFUNC symbol must go through PLT. */
h->plt.refcount += 1;