Page MenuHomeFreeBSD

Enable ld.lld as bootstrap linker by default on amd64
ClosedPublic

Authored by emaste on Jan 10 2018, 5:52 PM.
Tags
None
Referenced Files
F175136795: D13827.id37747.diff
Thu, Oct 8, 1:53 PM
Unknown Object (File)
Sat, Oct 3, 10:47 PM
Unknown Object (File)
Sat, Oct 3, 8:50 PM
Unknown Object (File)
Fri, Oct 2, 2:56 AM
Unknown Object (File)
Thu, Oct 1, 8:24 PM
Unknown Object (File)
Sat, Sep 26, 7:10 PM
Unknown Object (File)
Fri, Sep 25, 10:54 PM
Unknown Object (File)
Tue, Sep 22, 8:49 PM

Details

Summary

For some time we have been planning to migrate to LLVM's lld linker. Having a man page was the last blocking issue for using ld.lld to link the base system kernel + userland, now addressed by rS327770. Link the kernel and userland libraries and binaries with ld.lld by default, for additional test coverage.

To revert to using ld.bfd as the bootstrap linker, in /etc/src.conf set WITHOUT_LLD_BOOTSTRAP=yes. (And follow up with a PR or post to the freebsd-toolchain mailing list explaining any reason WITH_LLD_BOOTSTRAP by default fails for your use case.)

Note that GNU ld.bfd is still installed as /usr/bin/ld, and will still be used for linking ports. A followup commit will set WITH_LLD_IS_LD by default.

Release notes:  Yes
Sponsored by:   The FreeBSD Foundation

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Jan 10 2018, 5:55 PM
emaste added inline comments.
share/man/man5/src.conf.5
999–1003 ↗(On Diff #37734)

Seems someone (@imp?) added or changed options and did not regen src.conf.5?

share/man/man5/src.conf.5
999–1003 ↗(On Diff #37734)

likely.

See also D13813 for a few open comments on the man page

This revision was automatically updated to reflect the committed changes.