[llvm-dev] [lld] r271569 - Start adding tlsdesc support for aarch64.

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Fri Jun 3 03:12:23 PDT 2016

On 3 June 2016 at 01:53, Rui Ueyama <ruiu at google.com> wrote:
> Not so fast to conclude that the community is not trustworthy, it doesn't
> consist of a single person or a single action.

This is not an isolated incident. This seems to be the general
behaviour around LLD, which is less so in the rest of the LLVM

The obliteration of the old ELF back-end was discussed only between a
few people, not on the list. The technical reasoning could have been
solid for a new back-end, but not for destroying fresh code. The
removal was weeks after Adhemerval had LLD bootstrapping Clang on
AArch64 upstream.

There were backlashes to that decision, as well as other decisions in
this list, and many people have already demonstrated discontent with
how LLD patches and decisions are handled.

During EuroLLVM's LLD presentation, a lot of people asked technical
questions about the implementation of wanted features like library
order, linker scripts, version scripts, and all answers were "it's not
that hard, it's all in my head, don't worry about it".

If this was a closed source project, and you, Rafael, Nick and PCC
were the team developing it, it'd be expected that the team lead would
have some leeway on the implementation and the consumers would have to
wait until it's ready. But this is open source, and that's absolutely
*not* how things work out here. That is *precisely* the problem, not
this one incident. This incident was just the tipping point.

That is why I personally don't trust the LLD community to act in the
open source way. I have seen it consistently repeated over the last
two years that I'm following. It makes no difference if this is a new
project or not, this is open source, and in open source we work
collaboratively. If you refuse people's patches because "you know
better", you're not doing open source and people doing it will move
elsewhere. This is not about you, me or Rafael, this is about the LLVM

So, I'll now be going back looking at MCLinker and see if we can make
a Linux/BSD ARM/AArch64 upstream linker out of it, compatible with the
GNU environment. As you can see [1], the development is still active,
up-to-date with modern LLVM and there are ARM and MIPS support
already, and the community there is far more receptive than LLD's.

We'll continue to work on ARM and AArch64 patches to LLD, but if
MCLinker proves an easier route to achieve our final goal, which is to
have a Lesser-licensed open source ARM/AArch64 linker for GNU/BSD
environments, and LLD's community continues to offer resistance and
bad behaviour, we'll slowly de-phase LLD in favour of MCLinker, at
least at Linaro.

Such is the nature of open source.


[1] https://github.com/mclinker/mclinker

More information about the llvm-dev mailing list