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". Cheers, Mark