aboutsummaryrefslogtreecommitdiff
path: root/gold/symtab.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r--gold/symtab.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc
index 925296a..31ecc5c 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -1953,6 +1953,9 @@ Symbol_table::do_define_in_output_data(
return sym;
else
{
+ if (binding == elfcpp::STB_LOCAL
+ || this->version_script_.symbol_is_local(name))
+ this->force_local(oldsym);
delete sym;
return oldsym;
}
@@ -2067,6 +2070,9 @@ Symbol_table::do_define_in_output_segment(
return sym;
else
{
+ if (binding == elfcpp::STB_LOCAL
+ || this->version_script_.symbol_is_local(name))
+ this->force_local(oldsym);
delete sym;
return oldsym;
}
@@ -2186,6 +2192,9 @@ Symbol_table::do_define_as_constant(
return sym;
else
{
+ if (binding == elfcpp::STB_LOCAL
+ || this->version_script_.symbol_is_local(name))
+ this->force_local(oldsym);
delete sym;
return oldsym;
}