diff options
author | Ian Lance Taylor <iant@google.com> | 2007-12-06 05:55:50 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-12-06 05:55:50 +0000 |
commit | 7bf1f8020f64a69dc0d93a166c96547655c7eeb2 (patch) | |
tree | d430fb9f7ae36dcc1e86b6d71fea9936f0bc443e /gold/symtab.cc | |
parent | fd6940ea27f3c684c695d9de375e1df8eb589ba6 (diff) | |
download | gdb-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.cc | 7 |
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 |