diff options
Diffstat (limited to 'gold/resolve.cc')
-rw-r--r-- | gold/resolve.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gold/resolve.cc b/gold/resolve.cc index 7062ccc..63ed5e7 100644 --- a/gold/resolve.cc +++ b/gold/resolve.cc @@ -680,6 +680,7 @@ Symbol::override_base_with_special(const Symbol* from) gold_assert(!from->has_plt_offset_); gold_assert(!from->has_warning_); gold_assert(!from->is_copied_from_dynobj_); + gold_assert(!from->is_forced_local_); } // Override a symbol with a special symbol. @@ -719,6 +720,8 @@ Symbol_table::override_with_special(Sized_symbol<size>* tosym, } while (ssym != tosym); } + if (tosym->binding() == elfcpp::STB_LOCAL) + this->force_local(tosym); } // Instantiate the templates we need. We could use the configure |