|
@@ -157,7 +157,9 @@ _dl_do_reloc(struct elf_resolve *tpnt, struct dyn_elf *scope,
|
|
|
int reloc_type;
|
|
|
int symtab_index;
|
|
|
char *symname;
|
|
|
- struct elf_resolve *tls_tpnt = NULL;
|
|
|
+#if defined USE_TLS && USE_TLS
|
|
|
+ struct elf_resolve *tls_tpnt;
|
|
|
+#endif
|
|
|
struct symbol_ref sym_ref;
|
|
|
ElfW(Addr) *reloc_addr;
|
|
|
ElfW(Addr) symbol_addr;
|
|
@@ -186,13 +188,17 @@ _dl_do_reloc(struct elf_resolve *tpnt, struct dyn_elf *scope,
|
|
|
/* This may be non-fatal if called from dlopen. */
|
|
|
return 1;
|
|
|
}
|
|
|
+#if defined USE_TLS && USE_TLS
|
|
|
tls_tpnt = sym_ref.tpnt;
|
|
|
+#endif
|
|
|
} else {
|
|
|
/* Relocs against STN_UNDEF are usually treated as using a
|
|
|
* symbol value of zero, and using the module containing the
|
|
|
* reloc itself. */
|
|
|
symbol_addr = sym_ref.sym->st_value;
|
|
|
+#if defined USE_TLS && USE_TLS
|
|
|
tls_tpnt = tpnt;
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
|