<div dir="ltr">Great to hear, thanks!</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 20, 2018 at 1:56 PM Jake Ehrlich <<a href="mailto:jakehehrlich@google.com">jakehehrlich@google.com</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">A member of my team <a class="m_4926794201049332296GWVZpf m_4926794201049332296gW" id="m_4926794201049332296IloFPc-1" href="mailto:amontanez@google.com" target="_blank">+Armando Montanez</a> is going to drop a proposal for the ELF part of this soon (like sometime next week) and will be working on the implementation. I'll be one of the reviewers for anything that comes out of that so we can be sure it will get reviewed as well. The goal is to have a single tool/library that would include Juergen's original code and the new ELF code.</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 20, 2018 at 10:45 AM Nico Weber <<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.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">Was there any progress in the upstreaming effort? I'd be interested in having lld be able to link against tbd files, and I think it'd be cool if libtool -static could write tbd files (similar to thin archives on linux) since that should make archiving much faster.<div><br></div><div>Juergen, maybe uploading your initial patch to phabricator instead of attaching might get more traction?</div></div><br><div class="gmail_quote"></div><div class="gmail_quote"><div dir="ltr">On Wed, Apr 25, 2018 at 8:53 AM Juergen Ributzka via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The code on <a href="http://opensource.apple.com" target="_blank">opensource.apple.com</a> is the minimal code needed for libtapi to read TBD files with ld64. The code I pushed to GitHub on the other side includes the full TAPI tool source code. If you check the code you will see that I already use the LLVM license for everything, because the goal has always been to contribute this back to the community.<div><br></div><div>I attached an initial patch for libtapi and nm support to my original email. I also have some updated patches for that too, but somehow got derailed into "lets rewrite libobject" discussions.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 10, 2018 at 4:15 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: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_4926794201049332296m_-1645089694357321589m_1397583737544519261m_-2619777185803176232moz-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 class="m_4926794201049332296m_-1645089694357321589m_1397583737544519261h5">
<br>
<div class="m_4926794201049332296m_-1645089694357321589m_1397583737544519261m_-2619777185803176232moz-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_4926794201049332296m_-1645089694357321589m_1397583737544519261m_-2619777185803176232moz-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_4926794201049332296m_-1645089694357321589m_1397583737544519261m_-2619777185803176232m_-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_4926794201049332296m_-1645089694357321589m_1397583737544519261m_-2619777185803176232m_-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></div></div>
<br>_______________________________________________<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>
<br></blockquote></div><br></div></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div></blockquote></div>
</blockquote></div>