* Petr Vandrovec:

> Florian Weimer wrote on 1/7/2020 9:31 PM:
>> * Petr Vandrovec:
>> 
>>> As far as I can tell, while x86-64 ABI requires stack to be aligned
>>> on entry to the functions, x86 ABI does not have any such
>>> requirement, and so glibc should align stack itself if it wants to
>>> use XMM instructions that require aligned values.
>> 
>> The i386 ABI was changed after its initial release to require
>> additional stack alignment.
>
> That's a problem.
>
>> If you want to build glibc for i386 with SSE2 enabled (for example,
>> with -march=x86-64), you need to build it with -mrealignstack as well.
>> I'm not aware of any remaining issues with this combination.
>
> I do not want to rebuild anything, I just want things to work :-( 

This comment was directed at the glibc maintainers, sorry.  (The
option is actually called -mstackrealign.)

> libc6:i386 is built without SSE2 support, and takes precedence over 
> libc6-i386, so that is how I've "solved" problem.
>
> Should be libc6-i386 named (after obsolete/virtual) libc6-i686 if it 
> requires SSE2 and new stack alignment?

I think the proper fix would be to build glibc with -mstackrealign.

Reply via email to