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

Brian Gesiak via llvm-dev llvm-dev at lists.llvm.org
Wed Jun 6 11:40:54 PDT 2018

Thanks for the response, Rui!

On Tue, Jun 5, 2018 at 5:26 PM, Rui Ueyama <ruiu at google.com> wrote:
> 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.

.tbd files, is that right? A colleague of mine pointed me to Apple's
libtapi open source project [1], maybe I can learn more about these files
from that library. In fact, there's been discussion about bringing libtapi
to LLVM on the mailing list in the past, although I don't know if anything
came of it. [2]

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.

Excellent, thanks for letting me know. This doesn't bother me, I'm happy to
try contributing to it as best I can! I would also appreciate, as your time
permits, whatever guidance you can provide. For example, benefitting from
several years of hindsight, would you recommend keeping the ATOM-based lld
approach? [3] Prior emails discussed moving Mach-O lld away from ATOM. [4]
Has the success of ELF and COFF influenced your thinking on this in the
years since, or is ATOM probably still the best fit for Mach-O?

On Wed, Jun 6, 2018 at 8:10 PM, Jean-Daniel via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> The list of feature exclusive to the Apple platform and Mac-O in the
> linker is astonishingly long. I started listing the missing features in lld
> at some points, but stop midway.

Jean-Daniel, do you still happen to have this list somewhere? I'd love to
read it, even if you did stop midway! Besides .tbd files, for example
there's the matter of supporting "fat binaries," which contain code for
multiple instruction sets.

Also, thanks to everyone on the thread who expressed interest! I'm still
exploring and don't want to commit to anything just yet, but suffice it to
say I'm interested in lld Mach-O as well.

- Brian Gesiak

[1] https://opensource.apple.com/source/tapi/tapi-1.30/
[2] https://lists.llvm.org/pipermail/llvm-dev/2017-September/117264.html
[3] https://lld.llvm.org/AtomLLD.html
[4] http://lists.llvm.org/pipermail/llvm-dev/2015-May/085115.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180606/82825160/attachment.html>

More information about the llvm-dev mailing list