zig has a cross-compiler frontend (zig cc) which can be used as a drop-in replacement for a custom sysroot + binutils + gcc for several platforms. I've used it to build OCaml cross-compilers that only depend on zig itself (
https://www.chrisarmstrong.dev/posts/ocaml-cross-compilation...).
There are other projects that have used it in a similar way too.
[1] https://actually.fyi/posts/zig-makes-rust-cross-compilation-...
[2] https://jcbhmr.com/2024/07/19/zig-cc-cmake/