Commit a2bf3f0c authored by Alan Modra's avatar Alan Modra
Browse files

PowerPC64 TLS optimization fix

When linking with --no-tls-optimize the linker doesn't generate a call
or long branch stub to __tls_get_addr in some circumstances, giving:

relocation truncated to fit: R_PPC64_REL24 against symbol `__tls_get_addr'

	* elf64-ppc.c (ppc64_elf_size_stubs): Correct condition under
	which __tls_get_addr calls will be eliminated.

(cherry picked from commit abc489c6)
parent a6977a7e
2020-01-29 Alan Modra <amodra@gmail.com>
Apply from master
2020-01-22 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (ppc64_elf_size_stubs): Correct condition under
which __tls_get_addr calls will be eliminated.
2020-01-23 Nick Clifton <nickc@redhat.com>
* po/fr.po: Updated French translation.
......
......@@ -13080,7 +13080,8 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
if (!get_tls_mask (&tls_mask, NULL, NULL, &local_syms,
irela - 1, input_bfd))
goto error_ret_free_internal;
if ((*tls_mask & TLS_TLS) != 0)
if ((*tls_mask & TLS_TLS) != 0
&& (*tls_mask & (TLS_GD | TLS_LD)) == 0)
continue;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment