From: H.J. Lu Date: Sat, 5 Dec 2009 07:28:45 +0000 (+0000) Subject: 2009-12-04 H.J. Lu X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=adcf2816e2fcdf7f871270d98f8cd2b83864d56c;p=binutils-gdb.git 2009-12-04 H.J. Lu * resolve.cc (symbol_to_bits): Treat STB_GNU_UNIQUE as STB_GLOBAL. (Symbol_table::override_with_special): Likewise. (Symbol_table::add_from_object): Likewise. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index 084bd91ca6b..36803df08b1 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2009-12-04 H.J. Lu + + * resolve.cc (symbol_to_bits): Treat STB_GNU_UNIQUE as STB_GLOBAL. + (Symbol_table::override_with_special): Likewise. + (Symbol_table::add_from_object): Likewise. + 2009-12-04 Rafael Avila de Espindola * incremental.cc (Incremental_inputs::sized_create_inputs_section_data): diff --git a/gold/resolve.cc b/gold/resolve.cc index 2f0479ac85c..89b10b9f9a8 100644 --- a/gold/resolve.cc +++ b/gold/resolve.cc @@ -178,6 +178,7 @@ symbol_to_bits(elfcpp::STB binding, bool is_dynamic, switch (binding) { case elfcpp::STB_GLOBAL: + case elfcpp::STB_GNU_UNIQUE: bits = global_flag; break; @@ -883,6 +884,7 @@ Symbol_table::override_with_special(Sized_symbol* tosym, || ((tosym->visibility() == elfcpp::STV_HIDDEN || tosym->visibility() == elfcpp::STV_INTERNAL) && (tosym->binding() == elfcpp::STB_GLOBAL + || tosym->binding() == elfcpp::STB_GNU_UNIQUE || tosym->binding() == elfcpp::STB_WEAK) && !parameters->options().relocatable())) this->force_local(tosym); diff --git a/gold/symtab.cc b/gold/symtab.cc index dd521456077..7427f8e03f9 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -1010,6 +1010,7 @@ Symbol_table::add_from_object(Object* object, if ((ret->visibility() == elfcpp::STV_HIDDEN || ret->visibility() == elfcpp::STV_INTERNAL) && (ret->binding() == elfcpp::STB_GLOBAL + || ret->binding() == elfcpp::STB_GNU_UNIQUE || ret->binding() == elfcpp::STB_WEAK) && !parameters->options().relocatable()) this->force_local(ret);