This is the mail archive of the mailing list for the elfutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Symbol versioning (Was: [Bug general/24000] couple of testsuite fails with uclibc library)

On Tue, Feb 19, 2019 at 11:30:08AM +0000, Ulf Hermann wrote:
> > The problem is that without it every elfutils release would (possibly)
> > break the ABI between the shared libraries and programs using them.
> > And we don't have/use a different mechanism to indicate symbols/ABI
> > changed. How do you prevent things breaking when upgrading the
> > elfutils libraries?
> I ship the version of elfutils the application links against with the 
> application. That is common practice on windows (and also on e.g. 
> macOS). The concept of package management only exist on some platforms 
> and only in this context symbol versioning makes sense. Even on linux, 
> with things like flatpak, binary compatibility between different 
> versions of a library becomes less important.

It might work if you always compile everything from source (but even
then you need to at least keep API source compatible) and link
statically. But even things like flatpak support runtimes/libraries.
As it turns out elfutils is part of the freedesktop base sdk, so even
when using such packaging setup it still is important for elfutils to
keep ABI.

My point is more that if we disable symbol versioning we have to make
it much more clear that the resulting shared libaries aren't really
usable as "normal".



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]