Lots of this is also thanks to LLVM being much more friendlier to cross compilation than other compiler infrastructures (for instance, GCC requires a different compiler for every target, which is ridiculous IMHO). Usually every build of LLVM can generate code for every target LLVM supports, and not only the default one, and MC and LLD can replace the need of another instance of binutils too.
Also, while Rust's cross compiling facilities are nice, they are no match for Zig and especially Go.