<div dir="ltr">Brian,<div><br></div><div>Besides the features you pointed out, I think Xcode introduced a new way of listing dynamic linking symbols, and I believe lld doesn't support that. There may be long-tail missing features as well. But I don't think that's the real issue. I think the real issue is the lack of maintenance and ownership of the mach-O lld tree. There's no activities for the tree for years, though we've been making efforts to keep it compile and pass all the existing tests. As an example I made a last-minute cherrypick for some LLVM release to fix a bug blocking Zig language without really understanding what that patch is exactly doing. That's far from ideal...</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jun 4, 2018 at 4:07 PM Brian Gesiak 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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" target="_blank">https://lld.llvm.org</a></div><div>[2] <a href="http://lists.llvm.org/pipermail/llvm-dev/2018-January/120216.html" target="_blank">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" target="_blank">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" target="_blank">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>
_______________________________________________<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="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>