Bug#948396: New glibc broke existing app due to historic stack alignment
* 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 to: