<div dir="ltr"><div>Hi Shoaib,</div><div><br></div><div>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?</div><div><br></div><div>Have you thought about a compatibility test suite? If so, I'm curious what the approach will be.<br></div><div><br></div><div>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 <a href="https://github.com/michaeleisel/zld">https://github.com/michaeleisel/zld</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 28, 2020 at 1:32 PM Shoaib Meenai via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="EN-US">
<div class="gmail-m_7794167422684889403WordSection1">
<p class="MsoNormal"><span style="font-size:11pt">Hi all,<br>
<br>
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.<br>
<br>
Our initial commit is up for review at <a href="https://reviews.llvm.org/D75382" target="_blank">
https://reviews.llvm.org/D75382</a>. 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.<u></u><u></u></span></p>
</div>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>