mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-23 13:21:43 +08:00
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.
This commit is contained in:
parent
adf3dde510
commit
67f46fed80
@ -1,3 +1,11 @@
|
||||
2017-05-13 James Clarke <jrtc27@jrtc27.com>
|
||||
|
||||
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.
|
||||
|
||||
2017-05-12 Igor Kudrin <ikudrin@accesssoftek.com>
|
||||
|
||||
PR gold/21430
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user