[llvm-dev] LLD status update and performance chart

Rafael Avila de Espindola via llvm-dev llvm-dev at lists.llvm.org
Thu Dec 15 08:14:07 PST 2016


>> Once the linker is "done", we can discuss other possible uses and their
>> costs. By "done" I mean at least having all the features we want and
>> having replaced bfd ld in at least two freebsd architectures.
>>
>
> What are some of the missing "features we want"? gdb-index I assume? Any
> others?

I am on PTO, so slow to respond.

Some items that are left:

* Debug fission
* Single file debug fission
* Range extension thunks
* All of freebsd links and works
* Very good performance when all that is in

These have the potential to require changes to the linker and I really don't
want the linker to be locked with other parts of llvm until the above
is done.

If I had shared the first relocation processing design with the JIT,
writing something like r266158 would have been way harder. In other
words, the linker would have been less maintainable. The same is true
for the effort to use synthetic input section. Had the old synthetic
output sections be shared with something, it would have been way harder
to change.

Once the linker is done, it should be possible for someone to see if
there is enough overlap that can be refactored and at what cost (in
readability, maintainability and performance). Before that it is just
guesswork and I am opposed to it.

If someone wants to work on it now, there is always the MachO linker
that should be "modular" already.

Cheers,
Rafael


More information about the llvm-dev mailing list