aboutsummaryrefslogtreecommitdiff
path: root/gold/x86_64.cc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2012-09-10 23:05:54 +0000
committerAlan Modra <amodra@gmail.com>2012-09-10 23:05:54 +0000
commitbd73a62d774b7c9a77be60ccfc4ff0dd7641970f (patch)
treede5cbaa01173d77d37b1ce0e650a98c6de79c086 /gold/x86_64.cc
parent00716ab17456adb467b1c9da399da5d0f8a74ae9 (diff)
downloadfsf-binutils-gdb-bd73a62d774b7c9a77be60ccfc4ff0dd7641970f.zip
fsf-binutils-gdb-bd73a62d774b7c9a77be60ccfc4ff0dd7641970f.tar.gz
fsf-binutils-gdb-bd73a62d774b7c9a77be60ccfc4ff0dd7641970f.tar.bz2
* output.h (Output_data_got::add_global_tls, add_local_tls,
add_local_tls_pair): New functions. (Output_data_got::add_local_pair_with_rel): Remove second reloc param. Expand comment. (Output_data_got::Got_entry): Rename use_plt_offset_ to use_plt_or_tls_offset_, similarly for constructor param. (Output_data_got::Got_entry::write): Add got_index param. * output.cc (Output_data_got::add_global_tls, add_local_tls, add_local_tls_pair): New functions. (Output_data_got::Got_entry::write): Handle tls symbols with use_plt_or_tls_offset_ set specially. (Output_data_got::add_local_pair_with_rel): Only one reloc. (Output_data_got::do_write): Replace iterator with index, pass index to entry write function. * target.h (Target::tls_offset_for_local, tls_offset_for_global, do_tls_offset_for_local, do_tls_offset_for_global): New functions. * arm.cc (Target_arm::Scan::local): Update add_local_pair_with_rel call. * i386.cc (Target_i386::Scan::local): Likewise. * sparc.cc (Target_sparc::Scan::local): Likewise. * x86_64.cc (Target_x86_64::Scan::local): Likewise. * powerpc.cc (Target_powerpc::do_tls_offset_for_local, do_tls_offset_for_global): New functions. (Target_powerpc::Scan::local): Correct TLS relocations and got entry values. (Target_powerpc::Scan::global): Don't emit unnecessary dynamic relocations on TLS GOT entries.
Diffstat (limited to 'gold/x86_64.cc')
-rw-r--r--gold/x86_64.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gold/x86_64.cc b/gold/x86_64.cc
index a15b6ae..1712beb 100644
--- a/gold/x86_64.cc
+++ b/gold/x86_64.cc
@@ -2477,7 +2477,7 @@ Target_x86_64<size>::Scan::local(Symbol_table* symtab,
shndx,
GOT_TYPE_TLS_PAIR,
target->rela_dyn_section(layout),
- elfcpp::R_X86_64_DTPMOD64, 0);
+ elfcpp::R_X86_64_DTPMOD64);
}
else if (optimized_type != tls::TLSOPT_TO_LE)
unsupported_reloc_local(object, r_type);