]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Tweak ppc32 tls_get_addr optimisation
authorAlan Modra <amodra@gmail.com>
Fri, 27 Feb 2015 01:13:21 +0000 (11:43 +1030)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 24 Aug 2017 12:46:50 +0000 (09:46 -0300)
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
bfd/elf32-ppc.c

index 9ef3b7b5efd08b0093e3428bbb99fdf7a8a6e238..b8558b0229dd3c177f5e397cf20e334bf6d3ef2a 100644 (file)
@@ -1,6 +1,10 @@
 2015-03-18  Alan Modra  <amodra@gmail.com>
 
        Apply from master
+       2015-02-28  Alan Modra  <amodra@gmail.com>
+       * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
+       not PLT_NEW.
+
        2015-02-26  Alan Modra  <amodra@gmail.com>
        * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
        thread-safe stubs for iplt.
index 3325406fc4e971be858955c1b1d02a799b201516..e7aa4e426a6ca2d3a8c9311e0df33beb6cc87db4 100644 (file)
@@ -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;