From 9760cb7ffe01afc62471b41455dc2f2dc5316fd9 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 27 Feb 2015 11:43:21 +1030 Subject: [PATCH] Tweak ppc32 tls_get_addr optimisation This patch is cosmetic. It prevents references to __tls_get_addr_opt (an alias for __tls_get_addr) when the optimisation isn't possible. * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if not PLT_NEW. --- bfd/ChangeLog | 4 ++++ bfd/elf32-ppc.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9ef3b7b5efd..b8558b0229d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,6 +1,10 @@ 2015-03-18 Alan Modra Apply from master + 2015-02-28 Alan Modra + * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if + not PLT_NEW. + 2015-02-26 Alan Modra * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build thread-safe stubs for iplt. diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 3325406fc4e..e7aa4e426a6 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -5087,6 +5087,9 @@ ppc_elf_tls_setup (bfd *obfd, struct bfd_link_info *info) htab = ppc_elf_hash_table (info); htab->tls_get_addr = elf_link_hash_lookup (&htab->elf, "__tls_get_addr", FALSE, FALSE, TRUE); + if (htab->plt_type != PLT_NEW) + htab->params->no_tls_get_addr_opt = TRUE; + if (!htab->params->no_tls_get_addr_opt) { struct elf_link_hash_entry *opt, *tga; -- 2.47.3