This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Add x32 support to tcbhead_t


> 	* 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]