Binutils is the GNU projects portable assember, linker & librarian project. These are the low level tools to create executables. The big advantage of binutils is that it's easy to setup a cross building toolset for another platform.
Binutils is able to target, and host a wide array of CPUs and platforms, although its biggest use is for UNIX-like systems.
The binutils homepage can be found here.