diff options
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/dl-machine.h | 4 | ||||
-rw-r--r-- | sysdeps/i386/dl-tls.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h index 1784a3a737..6f60cf3af0 100644 --- a/sysdeps/i386/dl-machine.h +++ b/sysdeps/i386/dl-machine.h @@ -299,7 +299,7 @@ _dl_start_user:\n\ define the value. ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one of the main executable's symbols, as for a COPY reloc. */ -#ifdef USE_TLS +#if defined USE_TLS && (!defined RTLD_BOOTSTRAP || USE___THREAD) # define elf_machine_type_class(type) \ ((((type) == R_386_JMP_SLOT || (type) == R_386_TLS_DTPMOD32 \ || (type) == R_386_TLS_DTPOFF32 || (type) == R_386_TLS_TPOFF32 \ @@ -411,7 +411,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, *reloc_addr = value; break; -#ifdef USE_TLS +#if defined USE_TLS && (!defined RTLD_BOOTSTRAP || USE___THREAD) case R_386_TLS_DTPMOD32: # ifdef RTLD_BOOTSTRAP /* During startup the dynamic linker is always the module diff --git a/sysdeps/i386/dl-tls.h b/sysdeps/i386/dl-tls.h index 5066b8dcd6..b34bbe2c9e 100644 --- a/sysdeps/i386/dl-tls.h +++ b/sysdeps/i386/dl-tls.h @@ -31,7 +31,7 @@ typedef struct extern void *___tls_get_addr (tls_index *ti) __attribute__ ((__regparm__ (1))); extern void *___tls_get_addr_internal (tls_index *ti) - __attribute__ ((__regparm__ (1))); + __attribute__ ((__regparm__ (1))) attribute_hidden; /* The special thing about the x86 TLS ABI is that we have two variants of the __tls_get_addr function with different calling @@ -50,5 +50,5 @@ __tls_get_addr (tls_index *ti) version of this file. */ # define __tls_get_addr __attribute__ ((__regparm__ (1))) ___tls_get_addr strong_alias (___tls_get_addr, ___tls_get_addr_internal) -# define __TLS_GET_ADDR ___tls_get_addr +# define __TLS_GET_ADDR ___tls_get_addr_internal #endif |