This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] [s390] Define a __tls_get_addr macro to avoid declaring it again
- From: Stefan Liebler <stli at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Date: Tue, 13 Jan 2015 14:25:02 +0100
- Subject: Re: [PATCH] [s390] Define a __tls_get_addr macro to avoid declaring it again
- Authentication-results: sourceware.org; auth=none
- References: <20150108135656 dot GA26244 at spoyarek dot pnq dot redhat dot com>
On 01/08/2015 02:56 PM, Siddhesh Poyarekar wrote:
commit 050f7298e1ecc39887c329037575ccd972071255 added an extern
declaration for __tls_get_addr that conflicts with the one in s390
dl-tls.h, based on whether __tls_get_addr is defined as a macro. The
rationale seems to be based on the assumption that __tls_get_addr is
exported for every architecture and hence an internal non-plt alias is
needed. This is not true for s390 though, since it exports
__tls_get_offset and not __tls_get_addr. This results in tst-audit9
being stuck in an infinite loop.
This patch fixes this by defining a __tls_get_addr macro to itself so
as to not use the conflicting declaration.
Tested on Fedora rawhide.
tested on s390 31/64bit.
Now __tls_get_addr isn´t exported anymore
(test elf/check-abi-ld passes).
The test tst-audit9 passes, too.
Thanks.