[llvm-dev] Mach-O support in lld: what are the known issues?

Rui Ueyama via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 5 08:26:44 PDT 2018


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...

On Mon, Jun 4, 2018 at 4:07 PM Brian Gesiak via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hello all,
> I'm trying to better understand the state of Mach-O support in lld.
> 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 "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 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."
> [3]
> 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]
> Is there anything else that lld developers might be aware of? What work
> needs to be done before ld64.lld is considered complete?
> Thanks in advance for any information you can send my way! :)
> - Brian Gesiak
> [1] https://lld.llvm.org
> [2] http://lists.llvm.org/pipermail/llvm-dev/2018-January/120216.html
> [3] https://bugs.llvm.org/show_bug.cgi?id=32175
> [4]
> 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
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://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/20180605/33405171/attachment.html>

More information about the llvm-dev mailing list