[binutils-gdb/binutils-2_31-branch] Add --warn-drop-version option; by default, do not warn when discarding version info.

Cary Coutant ccoutant@sourceware.org
Mon Aug 6 21:11:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b7991db94c9dabb42a7a0fc5b0a0fb1997d85586

commit b7991db94c9dabb42a7a0fc5b0a0fb1997d85586
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Aug 6 14:08:48 2018 -0700

    Add --warn-drop-version option; by default, do not warn when discarding version info.
    
    gold/
    	PR gold/23455
    	* options.h (General_options): Add --warn-drop-version option.
    	* symtab.cc (Symbol_table::set_dynsym_indexes): Check it.

Diff:
---
 gold/ChangeLog |  6 ++++++
 gold/options.h |  4 ++++
 gold/symtab.cc | 11 ++++++-----
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index 9ab8c78..cf998d9 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,11 @@
 2018-08-06  Cary Coutant  <ccoutant@gmail.com>
 
+	PR gold/23455
+	* options.h (General_options): Add --warn-drop-version option.
+	* symtab.cc (Symbol_table::set_dynsym_indexes): Check it.
+
+2018-08-06  Cary Coutant  <ccoutant@gmail.com>
+
 	* target.h (Sized_target::record_gnu_property): Change first two
 	parameters to unsigned int.
 	* x86_64.cc (Target_x86_64::record_gnu_property): Likewise.
diff --git a/gold/options.h b/gold/options.h
index 98d6be8..1105498 100644
--- a/gold/options.h
+++ b/gold/options.h
@@ -1361,6 +1361,10 @@ class General_options
   DEFINE_bool_ignore(warn_constructors, options::TWO_DASHES, '\0',
 		     N_("Ignored"), N_("Ignored"));
 
+  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(warn_execstack, options::TWO_DASHES, '\0', false,
 	      N_("Warn if the stack is executable"),
 	      N_("Do not warn if the stack is executable"));
diff --git a/gold/symtab.cc b/gold/symtab.cc
index aa76441..759e0d0 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -2623,11 +2623,12 @@ Symbol_table::set_dynsym_indexes(unsigned int index,
 		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();
 		}
 	    }



More information about the Binutils-cvs mailing list