diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/s390/dl-tls.h | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 2b65e02254..33e232c5b8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-01-14 Siddhesh Poyarekar <siddhesh@redhat.com> + + * sysdeps/s390/dl-tls.h [IS_IN (rtld)]: Define __tls_get_addr + macro. + 2015-01-13 Adhemerval Zanella <azanella@linux.vnet.ibm.com> * sysdeps/powerpc/powerpc64/power7/memcmp.S (memcmp): Fix performance diff --git a/sysdeps/s390/dl-tls.h b/sysdeps/s390/dl-tls.h index 0fa8045809..8132b10ab5 100644 --- a/sysdeps/s390/dl-tls.h +++ b/sysdeps/s390/dl-tls.h @@ -33,6 +33,13 @@ extern unsigned long __tls_get_offset (unsigned long got_offset); # include <shlib-compat.h> +/* dl-tls.c declares __tls_get_addr as an exported symbol if it is not defined + as a macro. It seems suitable to do that in the generic code because all + architectures other than s390 export __tls_get_addr. The declaration causes + problems in s390 though, so we define __tls_get_addr here to avoid declaring + __tls_get_addr again. */ +# define __tls_get_addr __tls_get_addr + extern void *__tls_get_addr (tls_index *ti) attribute_hidden; /* Make a temporary alias of __tls_get_addr to remove the hidden attribute. Then export __tls_get_addr as __tls_get_addr_internal |