diff options
| -rw-r--r-- | include/link.h | 2 | ||||
| -rw-r--r-- | ldso/include/dl-hash.h | 4 | ||||
| -rw-r--r-- | ldso/ldso/dl-elf.c | 8 | ||||
| -rw-r--r-- | ldso/ldso/dl-hash.c | 4 | ||||
| -rw-r--r-- | ldso/ldso/dl-startup.c | 2 | ||||
| -rw-r--r-- | ldso/ldso/ldso.c | 18 | ||||
| -rw-r--r-- | ldso/libdl/libdl.c | 20 | ||||
| -rw-r--r-- | libc/misc/elf/dl-support.c | 6 | ||||
| -rw-r--r-- | libpthread/linuxthreads.old/pthread.c | 6 | ||||
| -rw-r--r-- | libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c | 2 | 
10 files changed, 36 insertions, 36 deletions
diff --git a/include/link.h b/include/link.h index ec863c989..cbef6165a 100644 --- a/include/link.h +++ b/include/link.h @@ -104,7 +104,7 @@ struct link_map      ElfW(Dyn) *l_ld;		/* Dynamic section of the shared object.  */      struct link_map *l_next, *l_prev; /* Chain of loaded objects.  */ -#ifdef USE_TLS +#if defined(USE_TLS) && USE_TLS      /* Thread-local storage related info.  */      /* Start of the initialization image.  */ diff --git a/ldso/include/dl-hash.h b/ldso/include/dl-hash.h index 22042145e..34333f40f 100644 --- a/ldso/include/dl-hash.h +++ b/ldso/include/dl-hash.h @@ -35,7 +35,7 @@ struct elf_resolve {    struct elf_resolve * prev;    /* Nothing after this address is used by gdb. */ -#if USE_TLS +#if defined(USE_TLS) && USE_TLS    /* Thread-local storage related info.  */    /* Start of the initialization image.  */ @@ -138,7 +138,7 @@ extern struct elf_resolve * _dl_add_elf_hash_table(const char * libname,  	unsigned long dynamic_addr, unsigned long dynamic_size);  /* Only need extra arg with some configurations */ -#if !(USE_TLS || defined __FDPIC__) +#if !((defined(USE_TLS) && USE_TLS) || defined __FDPIC__)  # define _dl_lookup_hash(n, r, m, c, t) _dl_lookup_hash(n, r, m, c)  #endif  extern char *_dl_lookup_hash(const char *name, struct dyn_elf *rpnt, diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c index 6bf5bbd6a..a0db63750 100644 --- a/ldso/ldso/dl-elf.c +++ b/ldso/ldso/dl-elf.c @@ -329,7 +329,7 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure,  	ElfW(Dyn) *dpnt;  	struct elf_resolve *tpnt;  	ElfW(Phdr) *ppnt; -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	ElfW(Phdr) *tlsppnt = NULL;  #endif  	char *status, *header; @@ -437,7 +437,7 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure,  			}  		}  		if (ppnt->p_type == PT_TLS) { -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  			if (ppnt->p_memsz == 0)  				/* Nothing to do for an empty segment.  */  				continue; @@ -733,7 +733,7 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure,  	tpnt->ppnt = (ElfW(Phdr) *) DL_RELOC_ADDR(tpnt->loadaddr, epnt->e_phoff);  	tpnt->n_phent = epnt->e_phnum; -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	if (tlsppnt) {  		_dl_debug_early("Found TLS header for %s\n", libname);  #if NO_TLS_OFFSET != 0 @@ -875,7 +875,7 @@ int _dl_fixup(struct dyn_elf *rpnt, int now_flag)  #if 0  /* _dl_add_to_slotinfo is called by init_tls() for initial DSO     or by dlopen() for dynamically loaded DSO. */ -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	/* Add object to slot information data if necessasy. */  	if (tpnt->l_tls_blocksize != 0 && tls_init_tp_called)  		_dl_add_to_slotinfo ((struct link_map *) tpnt); diff --git a/ldso/ldso/dl-hash.c b/ldso/ldso/dl-hash.c index 6d54f37b9..0048734ba 100644 --- a/ldso/ldso/dl-hash.c +++ b/ldso/ldso/dl-hash.c @@ -158,7 +158,7 @@ static __attribute_noinline__ const ElfW(Sym) *  check_match (const ElfW(Sym) *sym, char *strtab, const char* undef_name, int type_class)  { -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	if ((sym->st_value == 0 && (ELF_ST_TYPE(sym->st_info) != STT_TLS))  		      || (type_class & (sym->st_shndx == SHN_UNDEF)))  		/* No value or undefined symbol itself */ @@ -335,7 +335,7 @@ char *_dl_lookup_hash(const char *name, struct dyn_elf *rpnt, struct elf_resolve  	if (sym) {  		/* At this point we have found the requested symbol, do binding */ -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  		if (ELF_ST_TYPE(sym->st_info) == STT_TLS) {  			_dl_assert(tpntp != NULL);  			*tpntp = tpnt; diff --git a/ldso/ldso/dl-startup.c b/ldso/ldso/dl-startup.c index 91b11dc7f..a51b583a4 100644 --- a/ldso/ldso/dl-startup.c +++ b/ldso/ldso/dl-startup.c @@ -215,7 +215,7 @@ DL_START(unsigned long args)  	 *                 more work than what is done below for the  	 *                 loader will have to happen.  	 */ -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	/* This was done by _dl_memset above. */  	/* tpnt->l_tls_modid = 0; */  # if NO_TLS_OFFSET != 0 diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index bb414b14a..1f5c87a0d 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -38,7 +38,7 @@  #define ALLOW_ZERO_PLTGOT -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  #include "dl-tls.c"  #endif @@ -225,7 +225,7 @@ void _dl_free(void *p)  		(*_dl_free_function) (p);  } -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  void *_dl_memalign(size_t __boundary, size_t __size)  {  	void *result; @@ -294,7 +294,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,  	ElfW(Addr) relro_addr = 0;  	size_t relro_size = 0;  	struct stat st; -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	void *tcbp = NULL;  #endif @@ -371,7 +371,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,  		unlazy = RTLD_NOW;  	} -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	_dl_error_catch_tsd = &_dl_initial_error_catch_tsd;  	_dl_init_static_tls = &_dl_nothread_init_static_tls;  #endif @@ -504,7 +504,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,  		/* Discover any TLS sections if the target supports them. */  		if (ppnt->p_type == PT_TLS) { -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  			if (ppnt->p_memsz > 0) {  				app_tpnt->l_tls_blocksize = ppnt->p_memsz;  				app_tpnt->l_tls_align = ppnt->p_align; @@ -531,7 +531,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,  	app_tpnt->relro_addr = relro_addr;  	app_tpnt->relro_size = relro_size; -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	/*  	 * Adjust the address of the TLS initialization image in  	 * case the executable is actually an ET_DYN object. @@ -931,7 +931,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,  	}  #endif -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	/* We do not initialize any of the TLS functionality unless any of the  	 * initial modules uses TLS.  This makes dynamic loading of modules with  	 * TLS impossible, but to support it requires either eagerly doing setup @@ -971,7 +971,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,  			_dl_protect_relro (tpnt);  	} -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	if (!was_tls_init_tp_called && _dl_tls_max_dtv_idx > 0)  		++_dl_tls_generation; @@ -1058,7 +1058,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,  	_dl_malloc_function = (void* (*)(size_t)) (intptr_t) _dl_find_hash(__C_SYMBOL_PREFIX__ "malloc",  			_dl_symbol_tables, NULL, ELF_RTYPE_CLASS_PLT, NULL); -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	/* Find the real functions and make ldso functions use them from now on */  	_dl_calloc_function = (void* (*)(size_t, size_t)) (intptr_t)  		_dl_find_hash(__C_SYMBOL_PREFIX__ "calloc", _dl_symbol_tables, NULL, ELF_RTYPE_CLASS_PLT, NULL); diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c index 22b622d28..05a68ddcc 100644 --- a/ldso/libdl/libdl.c +++ b/ldso/libdl/libdl.c @@ -39,14 +39,14 @@  #include <tls.h>  #endif -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  #include <ldsodefs.h>  extern void (*_dl_init_static_tls) (struct link_map *);  extern void _dl_add_to_slotinfo(struct link_map  *l);  #endif  #ifdef SHARED -# if USE_TLS +# if defined(USE_TLS) && USE_TLS  # include <dl-tls.h>  extern struct link_map *_dl_update_slotinfo(unsigned long int req_modid);  # endif @@ -112,7 +112,7 @@ struct r_debug *_dl_debug_addr = NULL;  #include "../ldso/dl-debug.c" -# if USE_TLS +# if defined(USE_TLS) && USE_TLS  /*   * Giving this initialized value preallocates some surplus bytes in the   * static TLS area, see __libc_setup_tls (libc-tls.c). @@ -166,7 +166,7 @@ static const char *const dl_error_names[] = {  }; -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  #ifdef SHARED  /*   * Systems which do not have tls_index also probably have to define @@ -284,7 +284,7 @@ void *dlopen(const char *libname, int flag)  	unsigned int nlist, i;  	struct elf_resolve **init_fini_list;  	static bool _dl_init; -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	bool any_tls = false;  #endif @@ -519,7 +519,7 @@ void *dlopen(const char *libname, int flag)  	/* TODO:  Should we set the protections of all pages back to R/O now ? */ -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	for (i=0; i < nlist; i++) {  		struct elf_resolve *tmp_tpnt = init_fini_list[i]; @@ -670,7 +670,7 @@ void *dlsym(void *vhandle, const char *name)  		tpnt = handle->dyn; /* Only search RTLD_GLOBAL objs if global object */  	ret = _dl_find_hash(name2, handle, NULL, 0, &tls_tpnt); -#if defined USE_TLS && defined SHARED +#if defined(USE_TLS) && USE_TLS && defined SHARED  	if (tls_tpnt) {  		/* The found symbol is a thread-local storage variable.  		Return the address for to the current thread.  */ @@ -709,7 +709,7 @@ static int do_dlclose(void *vhandle, int need_fini)  	struct dyn_elf *handle;  	unsigned int end;  	unsigned int i, j; -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	bool any_tls = false;  	size_t tls_free_start = NO_TLS_OFFSET;  	size_t tls_free_end = NO_TLS_OFFSET; @@ -771,7 +771,7 @@ static int do_dlclose(void *vhandle, int need_fini)  					end = ppnt->p_vaddr + ppnt->p_memsz;  			} -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  			/* Do the cast to make things easy. */  			tls_lmap = (struct link_map *) tpnt; @@ -924,7 +924,7 @@ static int do_dlclose(void *vhandle, int need_fini)  	free(handle->init_fini.init_fini);  	free(handle); -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  	/* If we removed any object which uses TLS bump the generation counter.  */  	if (any_tls) {  		if (__builtin_expect(++_dl_tls_generation == 0, 0)) { diff --git a/libc/misc/elf/dl-support.c b/libc/misc/elf/dl-support.c index 3f5248128..665b62a24 100644 --- a/libc/misc/elf/dl-support.c +++ b/libc/misc/elf/dl-support.c @@ -13,14 +13,14 @@  #include <link.h>  #include <elf.h> -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  #include <assert.h>  #include <tls.h>  #include <ldsodefs.h>  #include <string.h>  #endif -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  void (*_dl_init_static_tls) (struct link_map *) = &_dl_nothread_init_static_tls; @@ -39,7 +39,7 @@ void internal_function _dl_aux_init (ElfW(auxv_t) *av)     _dl_phnum = (size_t) av[AT_PHNUM].a_un.a_val;  } -#if USE_TLS +#if defined(USE_TLS) && USE_TLS  /* Initialize static TLS area and DTV for current (only) thread.     libpthread implementations should provide their own hook     to handle all threads.  */ diff --git a/libpthread/linuxthreads.old/pthread.c b/libpthread/linuxthreads.old/pthread.c index c988131fc..ad392e34e 100644 --- a/libpthread/linuxthreads.old/pthread.c +++ b/libpthread/linuxthreads.old/pthread.c @@ -537,7 +537,7 @@ int __pthread_initialize_manager(void)    }    /* Start the thread manager */    pid = 0; -#ifdef USE_TLS +#if defined(USE_TLS) && USE_TLS    if (__linuxthreads_initial_report_events != 0)      THREAD_SETMEM (((pthread_descr) NULL), p_report_events,  		   __linuxthreads_initial_report_events); @@ -710,7 +710,7 @@ static pthread_descr thread_self_stack(void)      if (sp >= __pthread_manager_thread_bos && sp < __pthread_manager_thread_tos)  	return manager_thread;      h = __pthread_handles + 2; -# ifdef USE_TLS +# if defined(USE_TLS) && USE_TLS      while (h->h_descr == NULL  	    || ! (sp <= (char *) h->h_descr->p_stackaddr && sp >= h->h_bottom))  	h++; @@ -845,7 +845,7 @@ static void pthread_handle_sigcancel(int sig)      /* Main thread should accumulate times for thread manager and its         children, so that timings for main thread account for all threads. */      if (self == __pthread_main_thread) { -#ifdef USE_TLS +#if defined(USE_TLS) && USE_TLS        waitpid(__pthread_manager_thread->p_pid, NULL, __WCLONE);  #else        waitpid(__pthread_manager_thread.p_pid, NULL, __WCLONE); diff --git a/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c b/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c index 19821d6e7..8e38b6904 100644 --- a/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c +++ b/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c @@ -31,7 +31,7 @@ td_thr_tls_get_addr (const td_thrhandle_t *th __attribute__ ((unused)),  		     size_t offset __attribute__ ((unused)),  		     void **address __attribute__ ((unused)))  { -#ifdef USE_TLS +#if defined(USE_TLS) && USE_TLS    size_t modid;    union dtv pdtv, *dtvp;  | 
