[llvm-dev] Contributing LLD for Mach-O

Dave Lee via llvm-dev llvm-dev at lists.llvm.org
Tue Mar 3 07:36:18 PST 2020

Hi Shoaib,

Has there been any recent discussion with anyone on Apple's side? Is there
a way forward that results in a single unified open source linker? If not
at the start, how would it work if they later want to take maintainership?

Have you thought about a compatibility test suite? If so, I'm curious what
the approach will be.

Also for what it's worth, there's a recent fork of ld64's recent source
drop, which is optimized for incremental compilation. It also uses non-STL
data structures, parallelism, and a disk cache. See

On Fri, Feb 28, 2020 at 1:32 PM Shoaib Meenai via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi all,
> We’re planning to contribute a new implementation of LLD for Mach-O, using
> the same design as the COFF and ELF ports. This design has proven to work
> very well for those ports, and we’re keen to explore it for Mach-O as well.
> Our work is based on an initial prototype created by Peter Collingbourne
> and Rui Ueyama.
> Our initial commit is up for review at https://reviews.llvm.org/D75382.
> We’ve intentionally stripped down this initial commit as much as possible
> to ease reviewing; we’ve kept it to the absolute minimum needed to produce
> and test a working macOS x86-64 executable for that prints “Hello World”
> via a syscall. We have several short-term follow-ups planned to add
> important functionality, such as linking against archives, universal
> binaries, dylibs, and tbd files, performing subsection splitting
> (atomization), and producing dylibs. The follow-ups should give a good
> sense of the overall design while still keeping each piece easily
> reviewable and testable individually. Our end goal is to create a
> full-featured Mach-O linker, and we’ll be working toward that goal over the
> next several months (and years, in all likelihood). We’d appreciate
> feedback and reviews.
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200303/73f1a02a/attachment.html>

More information about the llvm-dev mailing list