This is not the case anymore. cross-gcc is built with clang from xcode. xcrun is used to find SDK root, and then passed to configure param --with-sysroot
Well, clang is modified gcc and gcc is link to the same binary...... Also depends on how you build the cross compiler. But you are forgetting that there are also parts of the project built with the native compiler not the cross compiler. It's not a good idea to change PATH unless you expect that the binaries in that path should always be called, which is definitely not the case. You never know what another script/executable is going to try to find, it's best to point to what you need and let the rest be found like it was intended.