<div dir="ltr">Also I mainly care about getting the ELF part of this working so it would be nice to have an informal owner of the MachO part.</div><br><div class="gmail_quote"><div dir="ltr">On Tue, Apr 10, 2018 at 4:15 PM John Ericson <john.ericson@obsidian.systems> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>That sounds great to me, thanks Jake. I'm not Jurgen either, of
course, but I'm happy to assist you if he is unavailable. I'm not
also not qualified to audit the license, but do note Apple
formally also released some code at
<a class="m_5350830136362663519moz-txt-link-freetext" href="https://opensource.apple.com/tarballs/tapi/" target="_blank">https://opensource.apple.com/tarballs/tapi/</a>. If there's anything
else I can do to help, let me know.<br>
</p>
<p>Cheers,</p>
<p>John<br>
</p></div><div text="#000000" bgcolor="#FFFFFF">
<br>
<div class="m_5350830136362663519moz-cite-prefix">On 04/10/2018 06:13 PM, Jake Ehrlich
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Ideally Jurgen would cut up the code on github, put
up an initial diff for a minimal viable tool, and then we would
review it and then continue to copy code from the github repo
into llvm and review it. I'm also willing to do that if Jurgen
doesn't want to at this point though. I'd like the OK from
Jurgen on that and I'd also like the OK from someone that the
license stuff is all good to go (I'm not sure who should check
licence stuff).<br>
<br>
Best,
<div>Jake</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Tue, Apr 10, 2018 at 2:39 PM John Ericson
<a class="m_5350830136362663519moz-txt-link-rfc2396E" href="mailto:john.ericson@obsidian.systems" target="_blank"><john.ericson@obsidian.systems></a> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>Seems like there are a few of us interested in this then.
I new around here and don't really know how decisions are
made, so what's next? Just open a diff with the entire
library??</p>
</div>
<div text="#000000" bgcolor="#FFFFFF">
<p>John<br>
</p>
</div>
<div text="#000000" bgcolor="#FFFFFF">
<div class="m_5350830136362663519m_-858117663558115345moz-cite-prefix">On
04/10/2018 05:33 PM, Jake Ehrlich wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Benifits of TBD:<br>
1) It's human readable and diffs on TBDs correspond to
changes in the ABI. Diffs can be automatically added to
review processes to ensure that changes to the ABI are
reviewed. The TBDs also document your precise ABI.<br>
2) The size is smaller which means they can be shipped
in an SDK instead of binaries to reduce the size of an
SDK<br>
3) Stubs are producible from TBDs (or should be) which
means stubs for linking can be produced even if we don't
directly support them in LLD. This lets you ship the
smaller TBD files in place of larger binaries and still
link things without direct linker support (assuming you
already ship a toolchain with your SDK or expect your
users to have this tool)<br>
<br>
Since stubs are producible from TBDs I don't really see
a downside. I think we need both, I was going to propose
a yaml based representation for ELF for the above
reasons anyhow.</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Tue, Apr 10, 2018 at 1:14 PM Andrew
Kelley via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">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 class="gmail_extra">
<div class="gmail_quote">On Mon, Apr 9, 2018 at
10:11 PM, John Ericson via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_5350830136362663519m_-858117663558115345m_8380427565236013758gmail-">>
Regardless of any of that, given that TBD
files _are_ an integral part of the apple
platform, supporting them is certainly a
necessity in order to have a working apple
linker. So, if making LLD work for
Apple/MachO is the justification for adding
TBD support to LLVM, that seems
self-evidently a reasonable thing to do. On
the other hand, it looks like the LLD mach-o
code is unmaintained and nobody seems to be
much interested in it. And having code for
reading TBD files in LLVM seems not terribly
interesting, unless it is as part of a
project to make the LLD MachO linker
actually functional and supported.<br>
<br>
</span> Yes. I hope this can be reason enough.
Hobbyists could push for LLD support for
Mach-O besides Apple, and if LLD is to
displace other linkers this is a necessary
component as you say. Better to upstream now
before the code diverges than more work later?
Conversely if nothing happens, I doubt libtapi
would be a greater drag on the codebase than
the MachO LLD code, so whatever cost/benefit
analysis exists for keeping that around could
also apply to this.</blockquote>
<div><br>
<br>
</div>
</div>
</div>
</div>
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div>Speaking for the Zig project here, our goal
is to support cross-compilation for any
target, on any target, without requiring
installation of any target-specific SDK. So,
for example, these use cases:<br>
</div>
<div> * on linux, compile & link a binary
targeting macos<br>
</div>
<div> * on windows, compile & link a binary
targeting macos<br>
<br>
</div>
<div>This works today, although it depends on a
patch to LLD to fix the MACH-O linker that is
not high enough quality to upstream.<br>
<br>
</div>
<div>So we have a vested interest in improving
the MACH-O linker, and in fact a Zig community
member has fixed at least one bug in MACH-O
LLD: <a href="http://reviews.llvm.org/D35387" target="_blank">reviews.llvm.org/D35387</a><br>
<br>
</div>
<div>I don't fully understand how TBD or TAPI
works, but I hope that it results in
improvements to the MACH-O linker.<br>
</div>
<div><br>
</div>
<div> </div>
</div>
</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>
</blockquote>
<br>
</div>
</blockquote>
</div>
</blockquote>
<br>
</div></blockquote></div>