V3: [PATCH 01/24] x86: Rename __glibc_reserved1 to feature_1 in tcbhead_t [BZ #22563]

H.J. Lu hjl.tools@gmail.com
Fri Jul 13 20:49:00 GMT 2018


On Fri, Jul 13, 2018 at 11:51 AM, Carlos O'Donell <carlos@redhat.com> wrote:
> On 07/13/2018 09:19 AM, H.J. Lu wrote:
>> On Wed, Jun 13, 2018 at 08:31:44AM -0700, H.J. Lu wrote:
>>> This will be used by CET run-time control.
>>>
>>>      [BZ #22563]
>>>      * nptl/pthread_create.c (__pthread_create_2_1): Use
>>>      THREAD_COPY_ADDITONAL_INFO to copy additonal info if defined.
>>>      * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New.
>>>      * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET):
>>>      Likewise.
>>>      * sysdeps/i386/nptl/tls.h (tcbhead_t): Rename __glibc_reserved1
>>>      to feature_1.
>>>      * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise.
>>>      * sysdeps/unix/sysv/linux/x86/pthreaddef.h: New file.
>>
>> Here is the updated patch to add feature_1 to tcbhead_t and
>> introduce macros for CET enabling.  OK for master?
>
> Fix the typo-prone macro API and post a v3 please.
>
> Thank you.
>
>>
>> H.J.
>> ----
>> feature_1 has X86_FEATURE_1_IBT and X86_FEATURE_1_SHSTK bits for CET
>> run-time control.
>>
>> CET_ENABLED, IBT_ENABLED and SHSTK_ENABLED are defined to 1 or 0 to
>> indicate that if CET, IBT and SHSTK are enabled.
>
> OK.
>
>>
>>       [BZ #22563]
>>       * nptl/pthread_create.c (__pthread_create_2_1): Use
>>       THREAD_COPY_ADDITONAL_INFO to copy additonal info if defined.
>>       * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New.
>>       * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET):
>>       Likewise.
>>       * sysdeps/i386/nptl/tls.h (tcbhead_t): Rename __glibc_reserved1
>>       to feature_1.
>>       * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise.
>>       * sysdeps/unix/sysv/linux/x86/pthreaddef.h: New file.
>>       * sysdeps/x86/sysdep.h (X86_FEATURE_1_IBT): New.
>>       (X86_FEATURE_1_SHSTK): Likewise.
>>       (CET_ENABLED): Likewise.
>>       (IBT_ENABLED): Likewise.
>>       (SHSTK_ENABLED): Likewise.
>> ---
>>  nptl/pthread_create.c                    |  5 +++++
>>  sysdeps/i386/nptl/tcb-offsets.sym        |  1 +
>>  sysdeps/i386/nptl/tls.h                  |  5 ++++-
>>  sysdeps/unix/sysv/linux/x86/pthreaddef.h | 24 +++++++++++++++++++++
>>  sysdeps/x86/sysdep.h                     | 27 ++++++++++++++++++++++++
>>  sysdeps/x86_64/nptl/tcb-offsets.sym      |  1 +
>>  sysdeps/x86_64/nptl/tls.h                |  5 ++++-
>>  7 files changed, 66 insertions(+), 2 deletions(-)
>>  create mode 100644 sysdeps/unix/sysv/linux/x86/pthreaddef.h
>>
>> diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
>> index 92c945b12b..16998f4bbd 100644
>> --- a/nptl/pthread_create.c
>> +++ b/nptl/pthread_create.c
>> @@ -712,6 +712,11 @@ __pthread_create_2_1 (pthread_t *newthread, const pthread_attr_t *attr,
>>    THREAD_COPY_POINTER_GUARD (pd);
>>  #endif
>>
>> +  /* Copy additonal info.  */
>> +#ifdef THREAD_COPY_ADDITONAL_INFO
>> +  THREAD_COPY_ADDITONAL_INFO (pd);
>> +#endif
>
> This is a typo-prone macro API.
>
> Please find a way to define this unconditionally.
>

Here is the V3 patch.  I added <tls-setup.h> to set up thread-local data.
OK for master?

Thanks.

-- 
H.J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-x86-Rename-__glibc_reserved1-to-feature_1-in-tcbhead.patch
Type: text/x-patch
Size: 7771 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20180713/908c9e7b/attachment.bin>


More information about the Libc-alpha mailing list