aboutsummaryrefslogtreecommitdiff
path: root/gold/symtab.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r--gold/symtab.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc
index ee826b3..9b23790 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -1839,7 +1839,9 @@ Symbol_table::sized_finalize_symbol(Symbol* unsized_sym)
case Symbol::IN_OUTPUT_SEGMENT:
{
Output_segment* os = sym->output_segment();
- value = sym->value() + os->vaddr();
+ value = sym->value();
+ if (sym->type() != elfcpp::STT_TLS)
+ value += os->vaddr();
switch (sym->offset_base())
{
case Symbol::SEGMENT_START: