Blob Blame History Raw
diff -rup binutils.orig/gold/options.h binutils-2.31.1/gold/options.h
--- binutils.orig/gold/options.h	2018-11-28 13:43:45.192094029 +0000
+++ binutils-2.31.1/gold/options.h	2018-11-28 13:44:30.616758345 +0000
@@ -1358,6 +1358,10 @@ class General_options
 	      N_("Warn about duplicate common symbols"),
 	      N_("Do not warn about duplicate common symbols"));
 
+  DEFINE_bool(warn_drop_version, options::TWO_DASHES, '\0', false,
+             N_("Warn when discarding version information"),
+             N_("Do not warn when discarding version information"));
+
   DEFINE_bool_ignore(warn_constructors, options::TWO_DASHES, '\0',
 		     N_("Ignored"), N_("Ignored"));
 
diff -rup binutils.orig/gold/symtab.cc binutils-2.31.1/gold/symtab.cc
--- binutils.orig/gold/symtab.cc	2018-11-28 13:43:45.193094021 +0000
+++ binutils-2.31.1/gold/symtab.cc	2018-11-28 13:45:13.479441595 +0000
@@ -2623,11 +2623,12 @@ Symbol_table::set_dynsym_indexes(unsigne
 		versions->record_version(this, dynpool, sym);
 	      else
 		{
-		  gold_warning(_("discarding version information for "
-				 "%s@%s, defined in unused shared library %s "
-				 "(linked with --as-needed)"),
-			       sym->name(), sym->version(),
-			       sym->object()->name().c_str());
+		  if (parameters->options().warn_drop_version())
+		    gold_warning(_("discarding version information for "
+                                  "%s@%s, defined in unused shared library %s "
+                                  "(linked with --as-needed)"),
+                                sym->name(), sym->version(),
+                                sym->object()->name().c_str());
 		  sym->clear_version();
 		}
 	    }