2009-12-04 H.J. Lu <hongjiu.lu@intel.com>

* resolve.cc (symbol_to_bits): Treat STB_GNU_UNIQUE as STB_GLOBAL.
	(Symbol_table::override_with_special): Likewise.
	(Symbol_table::add_from_object): Likewise.
This commit is contained in:
H.J. Lu 2009-12-05 07:28:45 +00:00
parent 6b372c7dcf
commit adcf2816e2
3 changed files with 9 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2009-12-04 H.J. Lu <hongjiu.lu@intel.com>
* 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 <espindola@google.com>
* incremental.cc (Incremental_inputs::sized_create_inputs_section_data):

View File

@ -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<size>* 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);

View File

@ -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);