OSDN Git Service

* options.h (class General_options): Use DEFINE_bool_alias for
authorian <ian>
Wed, 6 Jan 2010 07:55:08 +0000 (07:55 +0000)
committerian <ian>
Wed, 6 Jan 2010 07:55:08 +0000 (07:55 +0000)
allow_multiple_definition.
* resolve.cc (Symbol_table::should_override): Don't test
allow_multiple_definition.

gold/ChangeLog
gold/options.h
gold/resolve.cc

index e176234..87c7af4 100644 (file)
@@ -1,5 +1,10 @@
 2010-01-05  Ian Lance Taylor  <iant@google.com>
 
+       * options.h (class General_options): Use DEFINE_bool_alias for
+       allow_multiple_definition.
+       * resolve.cc (Symbol_table::should_override): Don't test
+       allow_multiple_definition.
+
        PR 10980
        * options.h (class General_options): Add --cref.
        * main.cc (main): Print cref table if --cref.  Don't close mapfile
index 907a8a3..85c81e4 100644 (file)
@@ -584,9 +584,9 @@ class General_options
              N_("Not supported"),
              N_("Do not copy DT_NEEDED tags from shared libraries"));
 
-  DEFINE_bool(allow_multiple_definition, options::TWO_DASHES, '\0', false,
-             N_("Allow multiple definitions of symbols"),
-             N_("Do not allow multiple definitions"));
+  DEFINE_bool_alias(allow_multiple_definition, muldefs, options::TWO_DASHES,
+                   '\0', N_("Allow multiple definitions of symbols"),
+                   N_("Do not allow multiple definitions"), false);
 
   DEFINE_bool(allow_shlib_undefined, options::TWO_DASHES, '\0', false,
               N_("Allow unresolved references in shared libraries"),
index 24b80a8..ca71264 100644 (file)
@@ -1,6 +1,6 @@
 // resolve.cc -- symbol resolution for gold
 
-// Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -440,8 +440,7 @@ Symbol_table::should_override(const Symbol* to, unsigned int frombits,
           || (object != NULL && object->just_symbols()))
         return false;
 
-      if (!parameters->options().allow_multiple_definition()
-         && !parameters->options().muldefs())
+      if (!parameters->options().muldefs())
        Symbol_table::report_resolve_problem(true,
                                             _("multiple definition of '%s'"),
                                             to, defined, object);