PATCH: Don't warn defintion overrides indirect versioned symbol

H. J. Lu hjl@lucon.org
Thu Aug 8 10:49:00 GMT 2002


This is for

http://sources.redhat.com/ml/binutils/2002-08/msg00108.html


H.J.
-------------- next part --------------
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.

--- bfd/elflink.h.version	Wed Aug  7 13:20:15 2002
+++ bfd/elflink.h	Wed Aug  7 20:30:44 2002
@@ -1085,10 +1085,13 @@ elf_add_default_symbol (abfd, info, h, n
   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 `%s'"),
+	   bfd_archive_filename (abfd), shortname);
     }
   else
     {


More information about the Binutils mailing list