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