<div dir="ltr">I'm also going to chime in here pretty late. I've been thinking about proposing a tool (which I've been calling llvm-abitool) to do many of these same things. I would be willing to contribute the ELF part of this tool and get that up and running.</div><br><div class="gmail_quote"><div dir="ltr">On Sat, Apr 7, 2018 at 9:12 PM John Ericson via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">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">To belatedly second Juergen, yes I think the concept of TBD files is<br>
great, and not just useful to the specific XCode situation of<br>
proprietary libraries. For example the mapfiles[1] of Illumos are<br>
exactly analogous and used not because the libc of Illumos is closed<br>
source (it isn't) but rather to ensure comparability across Illumos<br>
versions. The libc (shared library) ABI of Illumos is the stable<br>
interface rather than the syscall ABI like Linux, so ensuring linkers<br>
see *only* see the export list at build time prevents the abstraction<br>
from leaking and unintended incompatibilities being utilized.<br>
<br>
Beyond my general esteem for using export lists for hermetic builds, I'm<br>
working on automated native and cross builds for Darwin, and it would be<br>
a lot more convenient if this was part of LLVM.<br>
<br>
So what happened to this? I searched TAPI on differential and didn't see<br>
anything.  Given the general need for something like a standardized<br>
export list to feed a linker instead of the shared library itself, and<br>
the utility of this specific format given its use by a major platform, I<br>
think it definitely should be upstreamed.<br>
<br>
John<br>
<br>
[1]<br>
<a href="https://github.com/joyent/illumos-joyent/blob/master/usr/src/lib/README.mapfiles" rel="noreferrer" target="_blank">https://github.com/joyent/illumos-joyent/blob/master/usr/src/lib/README.mapfiles</a><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>
</blockquote></div>