aboutsummaryrefslogtreecommitdiff
path: root/gold/symtab.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-12-06 05:55:50 +0000
committerIan Lance Taylor <iant@google.com>2007-12-06 05:55:50 +0000
commit7bf1f8020f64a69dc0d93a166c96547655c7eeb2 (patch)
treed430fb9f7ae36dcc1e86b6d71fea9936f0bc443e /gold/symtab.cc
parentfd6940ea27f3c684c695d9de375e1df8eb589ba6 (diff)
downloadgdb-7bf1f8020f64a69dc0d93a166c96547655c7eeb2.zip
gdb-7bf1f8020f64a69dc0d93a166c96547655c7eeb2.tar.gz
gdb-7bf1f8020f64a69dc0d93a166c96547655c7eeb2.tar.bz2
From Cary Coutant: More support for generating shared libraries.
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r--gold/symtab.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc
index 40b3080..a18d3ae 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -1507,7 +1507,10 @@ Symbol_table::sized_finalize(unsigned index, off_t off, Stringpool* pool)
continue;
}
- value = sym->value() + os->address() + secoff;
+ if (sym->type() == elfcpp::STT_TLS)
+ value = sym->value() + os->tls_offset() + secoff;
+ else
+ value = sym->value() + os->address() + secoff;
}
}
break;
@@ -1920,7 +1923,7 @@ Symbol_table::print_stats() const
// that case.
// This struct is used to compare line information, as returned by
-// Dwarf_line_info::one_addr2line. It imlements a < comparison
+// Dwarf_line_info::one_addr2line. It implements a < comparison
// operator used with std::set.
struct Odr_violation_compare