This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: RFC: Add ___tls_get_addr
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- Cc: "x86-64-abi at googlegroups dot com" <x86-64-abi at googlegroups dot com>, GNU C Library <libc-alpha at sourceware dot org>, GCC Development <gcc at gcc dot gnu dot org>, nd <nd at arm dot com>
- Date: Wed, 5 Jul 2017 09:18:15 -0700
- Subject: Re: RFC: Add ___tls_get_addr
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOrYdAh6kJUUTdyzWdwfhEWVuiHJVs5xhp4pVbeB6hEM1w@mail.gmail.com> <595D0B89.8040004@arm.com>
On Wed, Jul 5, 2017 at 8:53 AM, Szabolcs Nagy <szabolcs.nagy@arm.com> wrote:
> On 05/07/17 16:38, H.J. Lu wrote:
>> On x86-64, __tls_get_addr has to realigns stack so that binaries compiled by
>> GCCs older than GCC 4.9.4:
>>
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066
>>
>> continue to work even if vector instructions are used by functions called
>> from __tls_get_addr, which assumes 16-byte stack alignment as specified
>> by x86-64 psABI.
>>
>> We are considering to add an alternative interface, ___tls_get_addr, to
>> glibc, which doesn't realign stack. Compilers, which properly align stack
>> for TLS, call generate call to ___tls_get_addr, instead of __tls_get_addr,
>> if ___tls_get_addr is available.
>>
>> Any comments?
>>
>>
>
> what happens when new compiler generating the new symbol
> is used with old glibc?
>
Compiler shouldn't do that.
--
H.J.