PATCH: Add x32 support to tcbhead_t
Roland McGrath
roland@hack.frob.com
Mon May 14 18:16:00 GMT 2012
> * sysdeps/x86_64/tls.h: Don't include <bits/wordsize.h>.
> Check __x86_64__ instead of __WORDSIZE.
> (tcbhead_t): Pad rtld_savespace_sse to 32byte aligned.
"32-byte alignment".
> -# if __WORDSIZE == 64
> +# ifdef __x86_64__
> int rtld_must_xmm_save;
> # endif
I don't understand why this had the #if to being with. This is an
internal header file and (before now) was only ever used for x86_64.
Shouldn't we just remove this conditionalization altogether?
> /* Reservation of some values for the TM ABI. */
> void *__private_tm[5];
> -# if __WORDSIZE == 64
> +# ifdef __x86_64__
> +# ifdef __LP64__
> long int __unused2;
> +# else
> + /* Pad rtld_savespace_sse to 32byte aligned. */
"32-byte alignment".
> + void *__padding1[5];
> +# endif
> /* Have space for the post-AVX register size. */
> __m128 rtld_savespace_sse[8][4];
Why can't you just use an __attribute__ ((aligned (32))) on the field
instead of manual padding?
Thanks,
Roland
More information about the Libc-alpha
mailing list