[llvm-dev] [cfe-dev] [RFC] Open sourcing and contributing TAPI back to the LLVM community

John Ericson via llvm-dev llvm-dev at lists.llvm.org
Sat Apr 7 21:12:46 PDT 2018


To belatedly second Juergen, yes I think the concept of TBD files is 
great, and not just useful to the specific XCode situation of 
proprietary libraries. For example the mapfiles[1] of Illumos are 
exactly analogous and used not because the libc of Illumos is closed 
source (it isn't) but rather to ensure comparability across Illumos 
versions. The libc (shared library) ABI of Illumos is the stable 
interface rather than the syscall ABI like Linux, so ensuring linkers 
see *only* see the export list at build time prevents the abstraction 
from leaking and unintended incompatibilities being utilized.

Beyond my general esteem for using export lists for hermetic builds, I'm 
working on automated native and cross builds for Darwin, and it would be 
a lot more convenient if this was part of LLVM.

So what happened to this? I searched TAPI on differential and didn't see 
anything.  Given the general need for something like a standardized 
export list to feed a linker instead of the shared library itself, and 
the utility of this specific format given its use by a major platform, I 
think it definitely should be upstreamed.

John

[1] 
https://github.com/joyent/illumos-joyent/blob/master/usr/src/lib/README.mapfiles


More information about the llvm-dev mailing list