lldELF is used by each ELF backend. lldELF's ELFLinkingContext
also held a reference to each backend, creating a link-time cycle.
This patch moves the backend references to lldDriver.
Here's a link-time dependency diagram for what is implemented here: http://yuml.me/324beed8.
Can you create a header file that contains all the elf targets. You need to sort all the includes without this though.