[LLVMdev] Clarification on stable release shared object ABI compatibility

David Chisnall David.Chisnall at cl.cam.ac.uk
Tue Dec 2 09:59:43 PST 2014


On 2 Dec 2014, at 16:54, Tom Stellard <tom at stellard.net> wrote:

> My understanding is that if new symbols are added to 3.5.1, then
> programs built against 3.5.0 will still be able to link against 3.5.1,
> however programs built against 3.5.1 will fail to link against 3.5.0.
> 
> My initial feeling is that we should not allow new symbols in 3.5.1,
> so that programs can downgrade from 3.5.1 to 3.5.0 without rebuilding,
> but I wanted to get more opinions on this.

I don't have a problem with adding new symbols (although in C++ it's important to make sure that we don't add new vtable entries).  As long as programs built with LLVM x.y.z work with LLVM x.y.z+n then there's no issue for me.  Most packaging systems can express a dependency like this.

David





More information about the llvm-dev mailing list