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

Brian Gesiak via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 4 16:06:34 PDT 2018

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180605/047187a1/attachment.html>

More information about the llvm-dev mailing list