aboutsummaryrefslogtreecommitdiff
path: root/gold/sparc.cc
diff options
context:
space:
mode:
authorJames Clarke <jrtc27@jrtc27.com>2017-05-13 08:01:15 -0700
committerCary Coutant <ccoutant@gmail.com>2017-05-13 08:01:15 -0700
commit67f46fed806465c005b15c97d33947f4c0abb25c (patch)
treeb9b0d5e927e3a8c9c150167075574d1631b16aff /gold/sparc.cc
parentadf3dde510088ef8dc46d04df05baf36adb0ed1e (diff)
downloadfsf-binutils-gdb-67f46fed806465c005b15c97d33947f4c0abb25c.zip
fsf-binutils-gdb-67f46fed806465c005b15c97d33947f4c0abb25c.tar.gz
fsf-binutils-gdb-67f46fed806465c005b15c97d33947f4c0abb25c.tar.bz2
Fix assertion failure relaxing TLS for position-independent executables.
gold/ PR gold/21444 * gold.cc (Target_sparc::Relocate::relocate_tls): Local variables are final for position-independent executables. This has to be consistent with Target_sparc::Scan::local otherwise they will disagree as to whether local-exec is used.
Diffstat (limited to 'gold/sparc.cc')
-rw-r--r--gold/sparc.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gold/sparc.cc b/gold/sparc.cc
index a9cb93a..54c7c33 100644
--- a/gold/sparc.cc
+++ b/gold/sparc.cc
@@ -3730,7 +3730,7 @@ Target_sparc<size, big_endian>::Relocate::relocate_tls(
const bool is_final =
(gsym == NULL
- ? !parameters->options().output_is_position_independent()
+ ? !parameters->options().shared()
: gsym->final_value_is_known());
const tls::Tls_optimization optimized_type
= optimize_tls_reloc(is_final, r_type);