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
Unknown Object (File)
Thu, Apr 11, 8:43 PM
Unknown Object (File)
Feb 23 2024, 11:26 PM
Unknown Object (File)
Feb 23 2024, 1:05 PM
Unknown Object (File)
Feb 20 2024, 5:04 PM
Unknown Object (File)
Feb 2 2024, 8:42 AM
Unknown Object (File)
Jan 28 2024, 12:22 AM
Unknown Object (File)
Jan 3 2024, 7:36 AM
Unknown Object (File)
Dec 23 2023, 10:08 AM

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.