https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87589
--- Comment #9 from Ian Lance Taylor <ian at airs dot com> --- It does work for me on x86_64 GNU/Linux. The big stack allocation is handled by the split-stack support. This of course leaves the question of why it is making such a large stack allocation to begin with. It seems to be because of the line var t = T{si, ai, pai, sq, aq, paq, sib, aib, paib, sqb, aqb, paqb} This is being compiled into code that assembles a T value on the stack and then copies it into the variable t. Unfortunately the type T includes fields like aib [100000]int paib *[100000]int sqb []quad aqb [100000]quad paqb *[100000]quad which are very very large.