[PATCH] configure: win32 has 4 byte argument aligment, we have more

Alexandre Julliard julliard at winehq.org
Mon Apr 19 07:43:41 CDT 2010


Marcus Meissner <meissner at suse.de> writes:

> This is not going to fly, as I very much doubt we will be able to
> convince them.
>
> Do we have examples of Linux code that doesn't do it?
>
> They have their call chain adjusted to have 16 byte alignment and only
> ensure this for main() and so suggest to the developers to either use
> -mincoming/outgoing stack alignment or supply attribute if functions or
> code does not fulfil it.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838#c11 demonstrates that
even glibc doesn't always align to 16 bytes. Maybe 16-byte align is what
the ABI should have been, but it's not what it is in practice.

Even if we force align the stack in Wine from now on, we can't do
anything about existing binaries, which would break as soon as a distro
rebuilds a system dll to use SSE. I don't see how that can be considered
acceptable.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list