"Jonathan Marler" wrote in message
news:xrpdzjuaxtdhyfhps...@forum.dlang.org...
I like the discussion. I do want to remind everyone that OPTLINK is very
fast and switching to a different linker will likely result performance
hit. There are advantages to using COFF as it seems more compilers use
that format and D would be more interoperable with other compilers and
languages. I think every peice of software has it's own goals which
determine what tradeoffs to chose. In my view, the linker should 1)
always work and 2) be as fast as possible. OPTLINK passes number 2 with
flying colors but is does have bugs. This is obviously due to the fact
that it is written in assembly but keep in mind that the performance of
the linker affects everyone who uses D. Any performance hit on the linker
will be seen in every single build of any D program. Adding 1 second to
link time will add 1 second to build time since this process cannot be
parallelized (as far as I know).
Optlink simply doesn't do enough. It doesn't support modern debug info
formats. It doesn't support mixing omf and coff object files (this is
probably the most requested feature, because it would allow using the stock
import libraries).
Worst of all, optlink is hostile to change.
win32 is dying, and optlink will certainly die with it. Having a more
accessible linker will let us adapt much faster.