2009-07-22 H.J. Lu <hongjiu.lu@intel.com>
[deliverable/binutils-gdb.git] / bfd / elflink.c
index f9b577c7738bdb6b15c50ef1b3399ad31da58de3..2af1af578ac5dce5c97d4a640da536cd21d25cbf 100644 (file)
@@ -8660,9 +8660,10 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data)
      and also to finish up anything that needs to be done for this
      symbol.  FIXME: Not calling elf_backend_finish_dynamic_symbol for
      forced local syms when non-shared is due to a historical quirk.
-     STT_GNU_IFUNC symbol must go through PLT.  */
+     STT_GNU_IFUNC symbol must go through PLT only if it is ever
+     referenced.  */
   if ((h->type == STT_GNU_IFUNC
-       && h->def_regular
+       && h->ref_regular
        && !finfo->info->relocatable)
       || ((h->dynindx != -1
           || h->forced_local)
This page took 0.027117 seconds and 4 git commands to generate.