https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879
--- Comment #20 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- The only case where the newly built GCC should be overridden is the Canadian cross case, and while that does use a pre-installed tool from the PATH, it's best to use "make all-host" in that case to avoid rebuilding target libraries and instead copy them from the build system. (The identically-configured build-x-target tools still need to be in the PATH in that case because the GCC build wants to run the target compiler with -dumpspecs.) Your problem as originally described was with finding non-sysroot headers. A plausible approach to fixing that if you can't use sysroots is to add a a new configure option whose purpose is to point to the build-time non-sysroot location of headers that should be used in building target libraries. Maybe you don't want --with-headers because of the side-effect of copying into a sys-include directory, but something quite similar to that but without that side-effect might work.