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


On Mon, May 14, 2012 at 11:15 AM, Roland McGrath <roland@hack.frob.com> wrote:
>> ? ? ? * 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".

I will change it.

>> -# 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?

Yes, we can remove it.

>> ? ?/* 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".

I will change it.

>> + ?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?
>

__attribute__ ((aligned (32))) doesn't work on field of
a struct.   You have to either manually pad it or use
an aligned type.

Thanks.


-- 
H.J.


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