Tweak ppc32 tls_get_addr optimisation
authorAlan Modra <amodra@gmail.com>
Fri, 27 Feb 2015 01:13:21 +0000 (11:43 +1030)
committerAlan Modra <amodra@gmail.com>
Sat, 28 Feb 2015 02:39:11 +0000 (13:09 +1030)
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 8cd57411632a2290125d405ee5630e5a3fc3963c..57bc637c00dad1bf10b3e5bf260e200ffae62703 100644 (file)
@@ -1,3 +1,8 @@
+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-27  H.J. Lu  <hongjiu.lu@intel.com>
 
        * elf32-i386.c (need_convert_mov_to_lea): New.
index cee589f9a8f73413939ef23afd097d80f9f8fc94..cc16b0dec79cd2d00feb5fb8d92b173ab6ca91c2 100644 (file)
@@ -5093,6 +5093,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;