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:
parent
6b372c7dcf
commit
adcf2816e2
@ -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>
|
2009-12-04 Rafael Avila de Espindola <espindola@google.com>
|
||||||
|
|
||||||
* incremental.cc (Incremental_inputs::sized_create_inputs_section_data):
|
* incremental.cc (Incremental_inputs::sized_create_inputs_section_data):
|
||||||
|
@ -178,6 +178,7 @@ symbol_to_bits(elfcpp::STB binding, bool is_dynamic,
|
|||||||
switch (binding)
|
switch (binding)
|
||||||
{
|
{
|
||||||
case elfcpp::STB_GLOBAL:
|
case elfcpp::STB_GLOBAL:
|
||||||
|
case elfcpp::STB_GNU_UNIQUE:
|
||||||
bits = global_flag;
|
bits = global_flag;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -883,6 +884,7 @@ Symbol_table::override_with_special(Sized_symbol<size>* tosym,
|
|||||||
|| ((tosym->visibility() == elfcpp::STV_HIDDEN
|
|| ((tosym->visibility() == elfcpp::STV_HIDDEN
|
||||||
|| tosym->visibility() == elfcpp::STV_INTERNAL)
|
|| tosym->visibility() == elfcpp::STV_INTERNAL)
|
||||||
&& (tosym->binding() == elfcpp::STB_GLOBAL
|
&& (tosym->binding() == elfcpp::STB_GLOBAL
|
||||||
|
|| tosym->binding() == elfcpp::STB_GNU_UNIQUE
|
||||||
|| tosym->binding() == elfcpp::STB_WEAK)
|
|| tosym->binding() == elfcpp::STB_WEAK)
|
||||||
&& !parameters->options().relocatable()))
|
&& !parameters->options().relocatable()))
|
||||||
this->force_local(tosym);
|
this->force_local(tosym);
|
||||||
|
@ -1010,6 +1010,7 @@ Symbol_table::add_from_object(Object* object,
|
|||||||
if ((ret->visibility() == elfcpp::STV_HIDDEN
|
if ((ret->visibility() == elfcpp::STV_HIDDEN
|
||||||
|| ret->visibility() == elfcpp::STV_INTERNAL)
|
|| ret->visibility() == elfcpp::STV_INTERNAL)
|
||||||
&& (ret->binding() == elfcpp::STB_GLOBAL
|
&& (ret->binding() == elfcpp::STB_GLOBAL
|
||||||
|
|| ret->binding() == elfcpp::STB_GNU_UNIQUE
|
||||||
|| ret->binding() == elfcpp::STB_WEAK)
|
|| ret->binding() == elfcpp::STB_WEAK)
|
||||||
&& !parameters->options().relocatable())
|
&& !parameters->options().relocatable())
|
||||||
this->force_local(ret);
|
this->force_local(ret);
|
||||||
|
Loading…
Reference in New Issue
Block a user