* elflink.h (elf_link_output_extsym): Just ignore warning and
authorIan Lance Taylor <ian@airs.com>
Mon, 4 Dec 1995 16:23:36 +0000 (16:23 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 4 Dec 1995 16:23:36 +0000 (16:23 +0000)
indirect references to symbols which don't really exist.

bfd/ChangeLog
bfd/elflink.h

index a325b74a1e6fa305ad7734186e5a66fd110b2394..170e372b8260e80179e85d62fa4b575bef66ed30 100644 (file)
@@ -1,3 +1,8 @@
+Mon Dec  4 11:25:39 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elflink.h (elf_link_output_extsym): Just ignore warning and
+       indirect references to symbols which don't really exist.
+
 Sun Dec  3 19:00:27 1995  Kim Knuttila  <krk@cygnus.com>
 
        * peicode.h (pe_print_idata): Minor format fixes
index 3e182956f7b46ed03d8aedbf892df0f88b13e514..e0d01ea67c759708e92825c770c7f59560828e3a 100644 (file)
@@ -2508,6 +2508,12 @@ elf_link_output_extsym (h, data)
 
     case bfd_link_hash_indirect:
     case bfd_link_hash_warning:
+      /* We can't represent these symbols in ELF.  A warning symbol
+         may have come from a .gnu.warning.SYMBOL section anyhow.  We
+         just put the target symbol in the hash table.  If the target
+         symbol does not really exist, don't do anything.  */
+      if (h->root.u.i.link->type == bfd_link_hash_new)
+       return true;
       return (elf_link_output_extsym
              ((struct elf_link_hash_entry *) h->root.u.i.link, data));
     }