This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] i386: Change offset of __private_ss to 0x30
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Uros Bizjak <ubizjak at gmail dot com>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Mon, 4 Jun 2018 06:43:02 -0700
- Subject: Re: [PATCH] i386: Change offset of __private_ss to 0x30
- References: <CAMe9rOqv-3HbE=3k34-iyjwTc9S5nQvvMbFkVxXXzgaB7p3WQA@mail.gmail.com> <3d53a03e-46b2-1202-6ffb-8d1c8ec4cad9@redhat.com> <CAMe9rOruPR4jopTyMr=y=ZJ=3yB2ixZ6eNq74M=e21AyA2t5Mg@mail.gmail.com> <e8a9b62c-0bc1-f93a-6ad1-bad315e872e4@redhat.com>
On Mon, Jun 4, 2018 at 6:30 AM, Florian Weimer <fweimer@redhat.com> wrote:
> On 05/30/2018 06:47 PM, H.J. Lu wrote:
>>
>> On Wed, May 30, 2018 at 9:43 AM, Florian Weimer <fweimer@redhat.com>
>> wrote:
>>>
>>> On 05/30/2018 04:49 PM, H.J. Lu wrote:
>>>>
>>>>
>>>> diff --git a/sysdeps/i386/nptl/tls.h b/sysdeps/i386/nptl/tls.h
>>>> index 6c36e58e9c..afb71ce431 100644
>>>> --- a/sysdeps/i386/nptl/tls.h
>>>> +++ b/sysdeps/i386/nptl/tls.h
>>>> @@ -43,11 +43,16 @@ typedef struct
>>>> int gscope_flag;
>>>> int __glibc_reserved1;
>>>> /* Reservation of some values for the TM ABI. */
>>>> - void *__private_tm[4];
>>>> + void *__private_tm[3];
>>>> /* GCC split stack support. */
>>>> void *__private_ss;
>>>> + void *__glibc_reserved2;
>>>> } tcbhead_t;
>>>
>>>
>>>
>>> What's the state of TM in GCC? Has it already been removed?
>>
>>
>> libitm has its own issue:
>>
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85988
>>
>> Fortunately, only the first 2 elements in __private_tm are used by
>> libitm.
>
>
> Looks like the reuse of the TM fields was actually deliberate:
True.
> <https://sourceware.org/bugzilla/show_bug.cgi?id=10686>
>
> But the offsets are still wrong.
Yes, we are stuck with the wrong offset.
> The question still remains whether we still need libitm.
>
libitm is enabled by default in GCC.
--
H.J.