• Zebediah Figura's avatar
    configure: Use -mpreferred-stack-boundary=2 on i386. · 4b458775
    Zebediah Figura authored
    gcc currently assumes the stack alignment for i686-w64-mingw32 is 16, which is
    essentially wrong. It works around this in most cases by applying -mstackrealign
    when SSE is in use. However, this doesn't address the case of manually aligned
    types (i.e. DECLSPEC_ALIGN), and it also for some reason doesn't seem to apply
    when -mavx512f is in use, which seems to be an independent gcc bug.
    
    The correct solution on the gcc end is not to assume that the stack is 4-byte
    aligned. -mpreferred-stack-boundary=2 achieves exactly this, and there is motion
    upstream to address this by effectively making this setting the default. Since
    this will take time to propagate downstream, though, it seems prudent to address
    this bug locally by essentially applying the same fix downstream.
    
    Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55007
    Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55899
    4b458775
configure.ac 143 KB