diff options
author | Ian Lance Taylor <iant@google.com> | 2008-01-24 00:15:00 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2008-01-24 00:15:00 +0000 |
commit | 55a934330a2d2f84e4f972454adda275b02f7aef (patch) | |
tree | 042b4651da2f08fc6f83926312362580c224ed24 /gold/resolve.cc | |
parent | 7af3fd65aa8d8eeab9d078b882397e3f152e1762 (diff) | |
download | gdb-55a934330a2d2f84e4f972454adda275b02f7aef.zip gdb-55a934330a2d2f84e4f972454adda275b02f7aef.tar.gz gdb-55a934330a2d2f84e4f972454adda275b02f7aef.tar.bz2 |
Originally from Craig Silverstein, with changes: support using a
version script to force symbols to be local.
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 |