[llvm-dev] Please dogfood LLD

Mark Kettenis via llvm-dev llvm-dev at lists.llvm.org
Wed Mar 15 03:41:23 PDT 2017


> From: Rui Ueyama <ruiu at google.com>
> Date: Tue, 14 Mar 2017 14:04:34 -0700
> 
> On Tue, Mar 14, 2017 at 12:07 PM, Mark Kettenis <mark.kettenis at xs4all.nl>
> wrote:
> 
> > > Date: Tue, 14 Mar 2017 11:39:22 -0700
> > > From: Rui Ueyama via llvm-dev <llvm-dev at lists.llvm.org>
> > >
> > > Hi all,
> > >
> > > LLVM 4.0.0 is out, and I can say that LLD/ELF is now ready for production
> > > use at least for x86-64 (and probably for AArch64 and MIPS). I believe
> > > you've heard a few good news about the linker -- it just works
> > > <http://lld.llvm.org/#features> and is very fast
> > > <http://lld.llvm.org/#performance>, clean, compact and supported by the
> > > active community. I don't think I need to reiterate why having a good
> > > linker is important for us as the LLVM community.
> >
> > FWIW, we're using lld as the system linker (and clang as the system
> > compiler) on the upcoming OpenBSD/arm64.  The system is self-hosting
> > and we've had to fix only a couple of small things in the way we use
> > the linker to get to this point.  All security-related features we
> > rely on (-pie, -static -pie, W^X, .openbsd.randomdata) seem to work
> > just fine.  So I'd say AArch64 is defenitely there.
> >
> 
> Out of curiosity, what's the story about architectures other than AArch64?

We're planning to switch OpenBSD/i386 and OpenBSD/amd64 over to clang
in our next release cycle (for OpenBSD 6.2).  Once we're happy with
that, we'll try to move them to lld.  I'm confident that the base
system will be no problem (linker scripts will need some attention).
But we have to be careful that we don't inflict to much pain on our
ports people.

One issue that's cropped up is that GNU libtool doesn't recognize lld
as a GNU compatible linker.  Ed Maste posted a message on the libtool
mailing list about this:

  https://lists.gnu.org/archive/html/libtool/2017-01/msg00007.html

But it seems there has been no response yet.  Perhaps a coordinated
action is needed here.  Or perhaps we can cheat and include "GNU"
somewhere in the lld -v output ;).


More information about the llvm-dev mailing list