[PATCH] i386: Change offset of __private_ss to 0x30

Florian Weimer fweimer@redhat.com
Mon Jun 4 13:31:00 GMT 2018


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:

   <https://sourceware.org/bugzilla/show_bug.cgi?id=10686>

But the offsets are still wrong.

The question still remains whether we still need libitm.

Thanks,
Florian



More information about the Libc-alpha mailing list