https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83302
--- Comment #2 from Michael Matz <matz at gcc dot gnu.org> --- I guess the problem described in https://lkml.org/lkml/2017/11/10/188 is, that the stack probe itself accesses a page which _doesn't_ belong to this threads stack, but to something else. golang seems to use tiny stacks without guard page, and the very idea of -fstack-check is that those probe instructions either access the own stack, or the guard page, but never anything else. So, it's mismatching assumptions between golang and gcc's idea of stack layout, they are simply incompatible. I think not using guard pages in golang is not a very good idea.