[LLVMdev] Clarification on stable release shared object ABI compatibility
Tom Stellard
tom at stellard.net
Tue Dec 2 10:08:51 PST 2014
On Tue, Dec 02, 2014 at 09:43:51AM -0800, Reid Kleckner wrote:
> Can you clarify what you mean by new symbols? Adding a private method to a
> C++ class in a public header can add new symbols visible at the DSO level.
>
By new symbols, I just mean public symbols that an external application or
library may possibly use.
-Tom
> LLVM doesn't have a curated C++ interface, so pretty much any old patch
> that adds functionality to a relatively internal class like AsmPrinter will
> introduce new symbols.
>
> Personally, I don't see any value in supporting downgrading from 3.5.1 so I
> would go ahead and allow new symbols, regardless of whether they look
> public or private.
>
> On Tue, Dec 2, 2014 at 8:54 AM, Tom Stellard <tom at stellard.net> wrote:
>
> > Hi,
> >
> > One issue that has come up in the process of merging patches to the 3.5
> > branch is whether or not it is OK to add new symbols to 3.5.1 that
> > weren't included in 3.5.0.
> >
> > 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.
> >
> > Thanks,
> > Tom
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
More information about the llvm-dev
mailing list