2002-08-08 H.J. Lu <hjl@gnu.org>
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 9 Aug 2002 04:40:29 +0000 (04:40 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 9 Aug 2002 04:40:29 +0000 (04:40 +0000)
* elflink.h (elf_add_default_symbol): Don't warn a defintion
overrides an indirect versioned symbol.

bfd/ChangeLog
bfd/elflink.h

index f597f9cc3116a4bec49184d744f9292441ce28bc..c35541f6fd7ae8947f8ba718a820e221cc930ab3 100644 (file)
@@ -1,3 +1,8 @@
+2002-08-08  H.J. Lu <hjl@gnu.org>
+
+       * elflink.h (elf_add_default_symbol): Don't warn a defintion
+       overrides an indirect versioned symbol.
+
 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
 
        * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
index b1732e43c2f0c6345d30a165bd9cdd91ee71d067..d849478a8af54bf3e049086e17f9e9025b563f10 100644 (file)
@@ -1085,10 +1085,13 @@ elf_add_default_symbol (abfd, info, h, name, sym, sec, value,
   if (override)
     {
       /* Here SHORTNAME is a versioned name, so we don't expect to see
-        the type of override we do in the case above.  */
-      (*_bfd_error_handler)
-       (_("%s: warning: unexpected redefinition of `%s'"),
-        bfd_archive_filename (abfd), shortname);
+        the type of override we do in the case above unless it is
+        overridden by a versioned definiton.  */
+      if (hi->root.type != bfd_link_hash_defined
+         && hi->root.type != bfd_link_hash_defweak)
+       (*_bfd_error_handler)
+         (_("%s: warning: unexpected redefinition of indirect versioned symbol `%s'"),
+          bfd_archive_filename (abfd), shortname);
     }
   else
     {