Skip to content

Evaluate the feasibility of using lld for linking

Our runtime system's linker a represents a significant amount of rather tricky code. We have in the past attempted to jettison it by moving to dynamic linking, although this lead to its own set of issues (see [[DynamicLinkingDebate]]).

Another approach would be to let someone else implement our linker for us. While in the past linkers were rather monolithic things, today there exists LLVM's lld http://lld.llvm.org/|linker. Like the other LLVM projects, its design is quite modular and can be used as a library. It seems likely that it could be made to do our bidding with enough effort. The question, of course, is whether this effort is greater than the effort we currently spend on the runtime linker.

Edited by Ben Gamari
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information