https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80964
--- Comment #2 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- with --target=arm-linux-gnueabihf I see this in gotools config.log:NATIVE_FALSE='#' config.log:NATIVE_TRUE='' But with --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf it works as expected: config.log:NATIVE_FALSE='' config.log:NATIVE_TRUE='#' And indeed these are not built at all. interesting! because what accidentally happened in the first configuration would be what would be good to have in the canadian-cross case. A go / gofmt tool that works as-is on the target. As I also bootstrap Ada you can expect that the host compiler is always built from the same sources and is usable to build host go apps. NATIVE and cross_compiling is more or less controlled by build_alias != host_alias