diff options
-rw-r--r-- | gold/ChangeLog | 7 | ||||
-rw-r--r-- | gold/symtab.cc | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 2b96de5..b1a022c 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,10 @@ +2015-11-14 Cary Coutant <ccoutant@gmail.com> + + PR gold/19244 + PR gold/18548 + * symtab.cc (Symbol_table::do_define_in_output_data): Check for forced + local symbols only for predefined symbols. + 2015-11-11 Alan Modra <amodra@gmail.com> Peter Bergner <bergner@vnet.ibm.com> diff --git a/gold/symtab.cc b/gold/symtab.cc index 6d107a8..22a44e0 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -1986,8 +1986,9 @@ Symbol_table::do_define_in_output_data( return sym; else { - if (binding == elfcpp::STB_LOCAL - || this->version_script_.symbol_is_local(name)) + if (defined == PREDEFINED + && (binding == elfcpp::STB_LOCAL + || this->version_script_.symbol_is_local(name))) this->force_local(oldsym); delete sym; return oldsym; |