On the attached testcase on powerpc64-linux (native, 64-bit cc1plus) compiling with -O2 -g -w -m64 -mminimal-toc -fPIC results in ICE during garbage collection. I've tracked that to excessively deep backtrace when marking dwarf2 debug info, above 94000 calls in the backtrace, out of this 80462 calls to gt_ggc_mx_die_struct and 14232 gt_ggc_mx_VEC_dw_attr_node_gc calls. If I bump the ulimit -s to 14000 it already compiles, with 13500 it still ICEs. On ppc64 it is perhaps more visible as each frame takes 128 bytes, so e.g. I don't get ICE with the default ulimit -s 10240 with x86_64-linux -> powerpc64-linux cross, still the stack usage is massive.
-- Summary: [4.3/4.4 Regression] Too big stack requirements of cc1plus during GC Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jakub at gcc dot gnu dot org GCC target triplet: powerpc64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36060