See attached test case (ignore the warning; cf. pr27899): /opt/crosstool/gcc-4.1.0-glibc-2.3.6/i686-unknown-linux-gnu/bin/i686-unknown-linux-gnu-gcc-4.1.0 -c -o e1000.o e1000_hw.i e1000_main.i --combine -fwhole-program -Os In file included from /pmac/git/geode/include/linux/thread_info.h:22, from /pmac/git/geode/include/linux/preempt.h:10, from /pmac/git/geode/include/linux/spinlock.h:50, from /pmac/git/geode/include/linux/capability.h:46, from /pmac/git/geode/include/linux/sched.h:45, from /pmac/git/geode/include/linux/module.h:10, from /pmac/git/geode/drivers/net/e1000/e1000.h:38, from /pmac/git/geode/drivers/net/e1000/e1000_main.c:31: include2/asm/thread_info.h:88: warning: register used for two global register variables /pmac/git/geode/drivers/net/e1000/e1000_main.c:4860: internal compiler error: in cgraph_estimate_size_after_inlining, at ipa-inline.c:106 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Seen with 4.1.0 i386 (with the set of patches at http://david.woodhou.se/combine/gcc-patches since otherwise it dies a lot earlier) and also with Red Hat's 4.1.1 branch with same patches, for i386 and PowerPC. The attached preprocessed source will be i386. Sorry, I'm not sure how to cut the test case down to something smaller. -- Summary: internal compiler error: in cgraph_estimate_size_after_inlining, at ipa-inline.c:106 Product: gcc Version: 3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dwmw2 at infradead dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28779