On Tue, Jun 12, 2018 at 1:23 AM, Torvald Riegel <trie...@redhat.com> wrote: > On Wed, 2018-05-30 at 07:54 -0700, H.J. Lu wrote: >> In glibc, sysdeps/i386/nptl/tls.h has >> >> typedef struct >> { >> void *tcb; /* Pointer to the TCB. Not necessarily the >> thread descriptor used by libpthread. */ >> dtv_t *dtv; >> void *self; /* Pointer to the thread descriptor. */ >> int multiple_threads; >> uintptr_t sysinfo; >> uintptr_t stack_guard; >> uintptr_t pointer_guard; >> int gscope_flag; >> int __glibc_reserved1; >> /* Reservation of some values for the TM ABI. */ >> void *__private_tm[4]; >> /* GCC split stack support. */ >> void *__private_ss; >> } tcbhead_t; >> >> and sysdeps/x86_64/nptl/tls.h has >> >> typedef struct >> { >> void *tcb; /* Pointer to the TCB. Not necessarily the >> thread descriptor used by libpthread. */ >> dtv_t *dtv; >> void *self; /* Pointer to the thread descriptor. */ >> int multiple_threads; >> int gscope_flag; >> uintptr_t sysinfo; >> uintptr_t stack_guard; >> uintptr_t pointer_guard; >> unsigned long int vgetcpu_cache[2]; >> int __glibc_reserved1; >> int __glibc_unused1; >> /* Reservation of some values for the TM ABI. */ >> void *__private_tm[4]; >> /* GCC split stack support. */ >> void *__private_ss; >> long int __glibc_reserved2; >> /* Must be kept even if it is no longer used by glibc since programs, >> like AddressSanitizer, depend on the size of tcbhead_t. */ >> __128bits __glibc_unused2[8][4] __attribute__ ((aligned (32))); >> >> void *__padding[8]; >> } tcbhead_t; >> >> The offsets of __private_tm are >> >> i386: 36 bytes >> x32: 48 bytes >> x86_64: 80 bytes >> >> and the offsets of pointer_guard are: >> >> i386: 24 bytes >> x32: 28 bytes >> x86_64: 48 bytes >> >> Update SEG_READ and SEG_WRITE to use the offset of __private_tm as base >> and correct the offset of pointer_guard for x32. >> >> Tested on i686, x86-64 and x32. OK for trunk and release branches? > > The patch itself looks okay to me, but the commit message is pretty > cryptic. I can't ack for release branches. >
I checked in the patch with the updated commit message: https://gcc.gnu.org/ml/gcc-cvs/2018-06/msg00446.html Jakub, is this OK for release branches. Thanks. -- H.J.