I wish somebody would just make binutils multi-target...
...but not Mach-O, Apple's format.
[1] https://en.wikipedia.org/wiki/Binary_File_Descriptor_library
And if you do need to build for multiple targets, you just run the binutils tools multiple times with the right options for each, because they're never identical.
Compiling per-target toolchains is an annoying chore, and binutils is the last holdover bugging me with this when I work with Rust.
The question here is whether you can run the same tool (the same binary) for two different targets, or if you have to run a different version of e.g. ld built specifically for each target.