<div dir="ltr"><div>Hello all,</div><div><br></div><div>I'm trying to better understand the state of Mach-O support in lld.</div><div><br></div><div>The lld docs state that "the linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS) and WebAssembly in descending order of completeness." [1] True to that statement, I found an email on this list from Jan 2018 stating that "<span style="color:rgb(0,0,0);white-space:pre-wrap">MachO support in lld is not really ready for real world usage.  It was able to bootstrap itself a couple of years ago, but, it has not really been maintained or further developed since." [2] And on</span><font color="#000000"><span style="white-space:pre-wrap"> LLVM Bugzilla, a comment on one bug states "indeed the macOS version seems to be experimental, and not to support LTO at all for the moment.</span></font><span style="white-space:pre-wrap;color:rgb(0,0,0)">" [3]</span></div><div><span style="white-space:pre-wrap;color:rgb(0,0,0)"><br></span></div><div><font color="#000000"><span style="white-space:pre-wrap">I'm curious if anyone has more information on what else Mach-O support in lld is missing. From the above links, I'm aware of a lack of support for LTO. I also encountered the same Clang driver bugs as mentioned on that Bugzilla report. Besides that, I can see a few memory leaks and incorrect links have been reported on Bugzilla as well. [4]</span></font></div><div><font color="#000000"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000"><span style="white-space:pre-wrap">Is there anything else that lld developers might be aware of? What work needs to be done before ld64.lld is considered complete?</span></font></div><div><font color="#000000"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000"><span style="white-space:pre-wrap">Thanks in advance for any information you can send my way! :)</span></font></div><div><font color="#000000"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000"><span style="white-space:pre-wrap">- Brian Gesiak</span></font></div><div><br></div><div>[1] <a href="https://lld.llvm.org">https://lld.llvm.org</a></div><div>[2] <a href="http://lists.llvm.org/pipermail/llvm-dev/2018-January/120216.html">http://lists.llvm.org/pipermail/llvm-dev/2018-January/120216.html</a></div><div>[3] <a href="https://bugs.llvm.org/show_bug.cgi?id=32175">https://bugs.llvm.org/show_bug.cgi?id=32175</a></div><div>[4] <a href="https://bugs.llvm.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&component=MachO&list_id=139976&product=lld&query_format=advanced&resolution=---&resolution=LATER&resolution=REMIND">https://bugs.llvm.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&component=MachO&list_id=139976&product=lld&query_format=advanced&resolution=---&resolution=LATER&resolution=REMIND</a></div></div>