binutils can be configured with '--enable-targets=all' to compile the BFD libs
with support for all targets. Having such libraries is very useful in a cross
compiler environment and "normal" work will not affected by them.
Reversely, it is difficultly to create a consistent cross compiler environment
with the current binutils, because there must be used a library-path which does
not fit into a FHS compliant system.
The only drawback of such libraries is the need for more space (3MB vs. 0.5MB
for libbfd.so and 1.7MB vs. 0.1 MB for libopcodes.so). When this will become a
problem, these libraries can be split into own subpackages (e.g.
binutils-libs-minimal and binutils-libs-maximal).
That's not the only drawback. E.g. on 32-bit platforms it also
slows down linker/assembler, because bfd_vma etc. are 64-bit and
Furthermore, having --enable-targets=all doesn't help you much.
Although you get linker for all targets, you get assembler just
for one (gas is not built for all arches).
So for cross compiles you want binutils configured for the target
in question anyway.