On Wed, 17 Jan 2018 12:31:06 +0100 Aurelien Jarno <aurel32@debian.org> wrote: [...] > busybox is compiled with -mpreferred-stack-boundary=2 on i386 which has > the same effect of reducing the default stack alignment from 16 bytes to > 2 bytes. This comes from arch/i386/Makefile: The argument is the log2 of the alignment, so this sets alignment to 4 bytes - which is compliant with the System V psABI for i386. Any assumption of 16-byte stack alignment in glibc on i386 will break not only busybox but most binaries built with old versions of gcc (before 4.2, if the comment in busybox is correct). So this really ought to be fixed there. I think that any libraries that need to maintain backward binary compatibility will need to be compiled with the option -mincoming-stack-boundary=2. gcc will then fix up the stack alignment in functions that need greater alignment for local variables. Ben. -- Ben Hutchings Reality is just a crutch for people who can't handle science fiction.
Attachment:
signature.asc
Description: This is a digitally signed message part