Blame SOURCES/glibc-aarch64-dont-alloc-static-tls-for-TLS_DESC.patch

5de29b
diff --git a/sysdeps/aarch64/dl-machine.h b/sysdeps/aarch64/dl-machine.h
5de29b
index 997c860..44154c0 100644
5de29b
--- a/ports/sysdeps/aarch64/dl-machine.h
5de29b
+++ b/ports/sysdeps/aarch64/dl-machine.h
5de29b
@@ -294,21 +294,25 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
5de29b
 #ifndef RTLD_BOOTSTRAP
5de29b
 # ifndef SHARED
5de29b
 		CHECK_STATIC_TLS (map, sym_map);
5de29b
+		  {
5de29b
+		    td->arg = (void*)(sym->st_value + sym_map->l_tls_offset
5de29b
+				      + reloc->r_addend);
5de29b
+		    td->entry = _dl_tlsdesc_return;
5de29b
+		  }
5de29b
 # else
5de29b
-		if (!TRY_STATIC_TLS (map, sym_map))
5de29b
 		  {
5de29b
 		    td->arg = _dl_make_tlsdesc_dynamic
5de29b
 		      (sym_map, sym->st_value + reloc->r_addend);
5de29b
 		    td->entry = _dl_tlsdesc_dynamic;
5de29b
 		  }
5de29b
-		else
5de29b
 # endif
5de29b
-#endif
5de29b
+#else
5de29b
 		  {
5de29b
 		    td->arg = (void*)(sym->st_value + sym_map->l_tls_offset
5de29b
 				      + reloc->r_addend);
5de29b
 		    td->entry = _dl_tlsdesc_return;
5de29b
 		  }
5de29b
+#endif
5de29b
 	      }
5de29b
 	    break;
5de29b
 	  }