diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2009-12-05 07:28:45 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2009-12-05 07:28:45 +0000 |
commit | adcf2816e2fcdf7f871270d98f8cd2b83864d56c (patch) | |
tree | 626d0ceab272c20fea7dba1f6903de5d1960c986 /gold | |
parent | 6b372c7dcfd8c5d777e19375a058283514fa21f1 (diff) | |
download | gdb-adcf2816e2fcdf7f871270d98f8cd2b83864d56c.zip gdb-adcf2816e2fcdf7f871270d98f8cd2b83864d56c.tar.gz gdb-adcf2816e2fcdf7f871270d98f8cd2b83864d56c.tar.bz2 |
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.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 6 | ||||
-rw-r--r-- | gold/resolve.cc | 2 | ||||
-rw-r--r-- | gold/symtab.cc | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 084bd91..36803df 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -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): diff --git a/gold/resolve.cc b/gold/resolve.cc index 2f0479a..89b10b9 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<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); diff --git a/gold/symtab.cc b/gold/symtab.cc index dd52145..7427f8e 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); |