This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: PATCH: Add x32 support to tcbhead_t
> -# if __WORDSIZE == 64
> int rtld_must_xmm_save;
> -# endif
> /* Reservation of some values for the TM ABI. */
> void *__private_tm[5];
> -# if __WORDSIZE == 64
> long int __unused2;
> /* Have space for the post-AVX register size. */
> - __m128 rtld_savespace_sse[8][4];
> + __m128 rtld_savespace_sse[8][4] __attribute__((aligned(32)));
Space between 'aligned' and paren.
> void *__padding[8];
With the space nit this change is OK.
But while we're here, does anyone know why we have __private_tm, __unused2,
and __padding fields here at all??
This is a private internal structure, not part of the real ABI. (Unless
I'm confused, it's only part of the GLIBC_PRIVATE ABI between libc and
libpthread.) Only the first word is part of the TLS ABI, so why do we have
all these apparent attempts at future-proofing in the rest of the
structure?
Thanks,
Roland