Hi all. To try to restore my sanity after attempting to get a multiarch (i686 & x86_64) version of GCC 4.2.4 to build, I've decided to go with 4.5.2 which compiles just fine for multiarch. But I have a problem that seems like it would be common and I wonder how I'm intended to deal with it. I'm using --sysroot to compile code for a different target, with a very different set of headers and libraries than my build system. However, the contents of the include-fixed directory in my GCC 4.5.2 installation are from the (very old) system that I built GCC on, while I'm trying to compile for a target with a much newer set of headers and libraries. This is causing my builds to fail because the fixed includes are not matching up with the includes in the sysroot. For example, I compiled GCC 4.5.2 on a system running Red Hat EL 4 (very old!). The contents of the 4.5.2 include-fixed directory, for example the features.h file, are thus ancient and don't have support for, for example, the 2008 POSIX spec. Now when I try to compile with a --sysroot for a newer target that does have this support, I can't enable it because features.h is being used from the old system, via include-fixed, not the sysroot. Can anyone explain how the interaction between include-fixed and cross-compiling is intended to work? Thanks!