diff options
| -rw-r--r-- | ldso/ldso/x86_64/elfinterp.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/ldso/ldso/x86_64/elfinterp.c b/ldso/ldso/x86_64/elfinterp.c index 27b1a15fd..efe9d546c 100644 --- a/ldso/ldso/x86_64/elfinterp.c +++ b/ldso/ldso/x86_64/elfinterp.c @@ -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  	}  | 
