Unfortunately, a number of Operating Systems diverge from the conventional standards (see above), for instance breaking support for ANSI C. To counter that effect, GCC has support for post-processing the target system headers and fixing them to fix potential known compatibility problems. GCC does this at build time and stores the resulting headers in $EXEC_PREFIX/lib/gcc/$TARGET/x.y.z/include-fixed/. You may wish to check that directory and see if your cross-compiler has fixed your include files. This is often quite annoying as if you edit that header, you may need to completely rebuild your cross-compiler for the change to take effect. Rather, you should either disable fixincludes, or recognize it's value and fix your header files (there may be false positives, where you have to trick GCC into thinking your headers are actually acceptable).