Nah, ld is warranted. I've posted a patch somewhat recently to add uImage support that would fit in as well. Geoff had mentioned an interest in adding support to each of the loaders rather than just 5l.
> elf.c and elf.h are platform-independent files and
> are currently located in the 8l directory because
> it hasn't seemed worth creating /sys/src/cmd/ld
> just for two files.