According to the GCC 4.5 Release Criteria at http://gcc.gnu.org/gcc-4.5/criteria.html , MinGW is a secondary platform and should be able to bootstrap successfully. GCC 4.5-20100107 contains the fix for 42584 and builds on MinGW/MSYS with --disable-bootstrap, but it still doesn't bootstrap.
Here is my build process in precise detail. Step 1. Extract to C:\Temp\gcc\msys (or any other location separate from the working directories used here): http://sourceforge.net/projects/mingw/files/ > MSYS Base System > msys-1.0.11 > msysCORE-1.0.11-bin.tar.gz http://sourceforge.net/projects/mingw/files/ > MSYS Bison > bison-2.4.1-1 > bison-2.4.1-1-msys-1.0.11-bin.tar.lzma http://sourceforge.net/projects/mingw/files/ > MSYS Flex > flex-2.5.35-1 > flex-2.5.35-1-msys-1.0.11-bin.tar.lzma http://sourceforge.net/projects/mingw/files/ > MSYS regex > regex-1.20090805-1 > libregex-1.20090805-1-msys-1.0.11-dll-1.tar.lzma Step 2. Save decompressed .tar files to C:\Temp\gcc\sources (this is a staging area separate from the working directories used here): http://sourceforge.net/projects/mingw/files/ > MinGW Runtime > mingwrt-3.17 > mingwrt-3.17-mingw32-dev.tar.gz http://sourceforge.net/projects/mingw/files/ > MinGW API for MS-Windows > w32api-3.14 > w32api-3.14-mingw32-dev.tar.gz ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20100107/gcc-core-4.5-20100107.tar.bz2 ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20100107/gcc-g++-4.5-20100107.tar.bz2 ftp://ftp.gmplib.org/pub/gmp-4.3.1/gmp-4.3.1.tar.bz2 http://www.mpfr.org/mpfr-current/mpfr-2.4.2.tar.bz2 http://www.mpfr.org/mpfr-current/patches (renamed to mpfr-2.4.2.patch) http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz Step 3. In MSYS, run the following commands. This uses C:\Temp\gcc\src , C:\Temp\gcc\build , and C:\Temp\gcc\dest as working directories. cd /c/temp/gcc/sources tar -C /c/temp/gcc -xf gcc-core-4.5-20100107.tar tar -C /c/temp/gcc -xf gcc-g++-4.5-20100107.tar tar -C /c/temp/gcc -xf gmp-4.3.1.tar tar -C /c/temp/gcc -xf mpfr-2.4.2.tar patch -Z -d /c/temp/gcc/mpfr-2.4.2 -p1 < mpfr-2.4.2.patch tar -C /c/temp/gcc -xf mpc-0.8.1.tar mkdir -p /include rm -rf /mingw mkdir /mingw tar -C /mingw -xf mingwrt-3.17-mingw32-dev.tar tar -C /mingw -xf w32api-3.14-mingw32-dev.tar cd /c/temp/gcc mv gcc-4.5-20100107 src mv gmp-4.3.1 src/gmp mv mpfr-2.4.2 src/mpfr mv mpc-0.8.1 src/mpc mkdir build dest cd build ../src/configure --prefix=c:/temp/gcc/dest --enable-languages=c,c++ --enable-threads --disable-nls --disable-win32-registry --disable-sjlj-exceptions --with-arch=i486 --with-tune=generic --enable-cxx-flags='-fno-function-sections -fno-data-sections' --disable-libstdcxx-pch --disable-shared --enable-checking=release --disable-symvers --enable-fully-dynamic-string make This fails with: echo timestamp > s-fixinc_list rm -rf include-fixed; mkdir include-fixed chmod a+rx include-fixed if [ -d ../prev-gcc ]; then \ cd ../prev-gcc && \ make real-install-headers-tar DESTDIR=`pwd`/../gcc/ \ libsubdir=. ; \ else \ set -e; for ml in `cat fixinc_list`; do \ sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`; \ multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \ fix_dir=include-fixed${multi_dir}; \ if ! false && test ! -d `echo /mingw/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`; then \ echo The directory that should contain system headers does not exist: >&2 ; \ echo " `echo /mingw/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`" >&2 ; \ tooldir_sysinc=`echo "c:/temp/gcc/dest/lib/gcc/i686-pc-mingw32/4.5.0/../../../../i686-pc-mingw32/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`; \ if test "x`echo /mingw/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`" = "x${tooldir_sysinc}"; \ then sleep 1; else exit 1; fi; \ fi; \ /bin/sh ../../src/gcc/../mkinstalldirs ${fix_dir}; \ chmod a+rx ${fix_dir} || true; \ (TARGET_MACHINE='i686-pc-mingw32'; srcdir=`cd ../../src/gcc; ${PWDCMD-pwd}`; \ SHELL='/bin/sh'; MACRO_LIST=`${PWDCMD-pwd}`/macro_list ; \ gcc_dir=`${PWDCMD-pwd}` ; \ export TARGET_MACHINE srcdir SHELL MACRO_LIST && \ cd ../build-i686-pc-mingw32/fixincludes && \ /bin/sh ./fixinc.sh "${gcc_dir}/${fix_dir}" \ `echo /mingw/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta` ); \ rm -f ${fix_dir}/syslimits.h; \ if [ -f ${fix_dir}/limits.h ]; then \ mv ${fix_dir}/limits.h ${fix_dir}/syslimits.h; \ else \ cp ../../src/gcc/gsyslimits.h ${fix_dir}/syslimits.h; \ fi; \ chmod a+r ${fix_dir}/syslimits.h; \ done; \ fi make[4]: Entering directory `/c/temp/gcc/build/prev-gcc' ../../src/gcc/cp/Make-lang.in:187: *** target pattern contains no `%'. Stop. make[4]: Leaving directory `/c/temp/gcc/build/prev-gcc' make[3]: *** [stmp-fixinc] Error 2 make[3]: Leaving directory `/c/temp/gcc/build/gcc' make[2]: *** [all-stage2-gcc] Error 2 make[2]: Leaving directory `/c/temp/gcc/build' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/c/temp/gcc/build' make: *** [all] Error 2 -- Summary: GCC 4.5-20100107 doesn't bootstrap on MinGW/MSYS Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: critical Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: lxndrmxwll at gmail dot com GCC build triplet: i686-pc-mingw32 GCC host triplet: i686-pc-mingw32 GCC target triplet: i686-pc-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42663