[Bug 22316] New: Wine should be built with -mincoming-stack-boundary=2

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Apr 9 04:16:29 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=22316

           Summary: Wine should be built with -mincoming-stack-boundary=2
           Product: Wine
           Version: 1.1.42
          Platform: x86
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: build-env
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: daniel-gl at gmx.net


GCC 4.4 on Linux assumes the Stack is aligned to 16 bytes and thus assumes it
can use the movdqa instruction when manipulating 64 bit values on the stack.
For x86-32 Windows Microsoft specifies a stack alignment of 4 Bytes.

In my case I had wine compiled with -O3 -march=native and got an "Unhandled
page fault on read access to 0xffffffff" with the disassembly showing "movq
%mm5,%mm3" as the faulting instruction. Running objdump revealed the
instruction was in fact "movdqa %xmm3,-0x88(%ebp)" while ebp % 16 had been 4
since the app entered wine code.

Therefore I propose to compile wine with -mincoming-stack-boundary=2 where it
is available.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list