The following is just a verbatim copy of http://gcc.gnu.org/ml/gcc-help/2009-04/msg00023.html For details and possible patch follow the link.
-- I'd like to build a canadian cross configured with --host=i586-mingw32 --build=i686-linux-gnu Everything goes fine except building libgcc because limits.h cannot be found, as include-fixed is not in include path. The problem looks like this: For a native build, i.e. host=build, libgcc/Makefile sets CC to > CC = [target-gcc-build-dir]/./gcc/xgcc -B[target-gcc-build-dir]/./gcc/ but for host != build it is > CC = [target-gcc] without adding [target-gcc-build-dir]/./gcc/include-fixed to the include directory search path my means of -isystem. However, this directory contains the limits.h. -- Summary: Missing -isystem include-fixed when building canadian cross libgcc Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: georgjohann at web dot de GCC build triplet: i686-linux-gnu GCC host triplet: i586-mingw32 GCC target triplet: any http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39622