------- Comment #3 from rguenth at gcc dot gnu dot org 2006-08-19 15:40 ------- I tried to reproduce this on a i686 host with the 4.1 branch head with no success, I get to /obj/gcc41-g/gcc/pr28779$ ../xgcc -B.. e1000_hw.i e1000_main.i -Os -c -o e1000.o --combine -fwhole-program -Wfatal-errors -v Reading specs from ../specs Target: i686-pc-linux-gnu Configured with: /home/richard/src/gcc-4_1-branch/configure --enable-languages=c,c++,fortran --enable-cxa_at_exit --enable-threads=posix Thread model: posix gcc version 4.1.2 20060708 (prerelease) ../cc1 -fpreprocessed e1000_hw.i e1000_main.i -quiet -dumpbase e1000_hw.i -mtune=pentiumpro -auxbase-strip e1000.o -Os -Wfatal-errors -version -fwhole-program -o /tmp/ccvN1UzD.s GNU C version 4.1.2 20060715 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version 4.1.2 20060630 (prerelease) (Debian 4.1.1-6). GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=127657 Compiler executable checksum: 024a6cd74e0904785fe447bca1336a32 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 In file included from /pmac/git/geode/include/linux/mm.h:280, from /pmac/git/geode/drivers/net/e1000/e1000.h:42, from /pmac/git/geode/drivers/net/e1000/e1000_main.c:31: /pmac/git/geode/include/linux/page-flags.h:252: error: conflicting types for ‘test_clear_page_dirty’ compilation terminated due to -Wfatal-errors. What's your output of adding -v? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28779