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

Andrew Kelley via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 5 08:18:50 PDT 2018


Are you planning on working on LLD?

Over here in the Zig frontend, we've been relying on LLD Mach-O support but
at some point we'll have to either maintain LLD or write a Mach-O linker in
zig. So far we've been making it work with this hacky patch:
https://github.com/ziglang/zig/commit/1ba6e1641a4c5ea1d0d665fe500c9c66d69443a4

If nobody else cares about the LLD Mach-O code, then we'll be better off
doing the work in zig but if others are interested then it may be more
beneficial for the community to work together on the LLD codebase.

On Mon, Jun 4, 2018 at 7:06 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/05deed96/attachment.html>


More information about the llvm-dev mailing list