[Bug c/67169] New: -fstack-check=no doesn't disable stack checking

dwmw2 at infradead dot org gcc-bugzilla@gcc.gnu.org
Mon Aug 10 11:12:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67169

            Bug ID: 67169
           Summary: -fstack-check=no doesn't disable stack checking
           Product: gcc
           Version: 5.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dwmw2 at infradead dot org
  Target Milestone: ---

$ echo 'void foo(void) { char lots[8192]; }' | i686-w64-mingw32-gcc -S -o- -xc
- -fstack-check=no
        .file   ""
        .text
        .globl  _foo
        .def    _foo;   .scl    2;      .type   32;     .endef
_foo:
        pushl   %ebp
        movl    %esp, %ebp
        movl    $8192, %eax
        call    ___chkstk_ms
        subl    %eax, %esp
        nop
        leave
        ret
        .ident  "GCC: (GNU) 5.1.0 20150422 (Fedora MinGW 5.1.0-2.fc22)"


This is causing me problems when building the EDK II UEFI implementation.
Building that with MinGW is useful because it reproduces a number of
LLP64-related issues which would otherwise require Windows to discover.

If I use '-fstack-check=specific' *that* does seem to do what I want. But I'm
not sure I should be suggesting that as an upstream fix for the MinGW build,
because it seems wrong.



More information about the Gcc-bugs mailing list