On Mon, Nov 16, 2009 at 03:01:03PM +0300, Damir Shayhutdinov wrote: > > On the other hand, we can simply assume that symbols should not be moved > > across the libraries.  The worst thing that can happen then (if a symbol > > does move) is that we need to rebuild a bunch of packages, only to > > relink their binaries and update dependencies. Do we care about binary-only apps which we cannot rebuild - would their repackaging in the RPM form become impossible? > Have you thought about C++ libraries and their mangling? And the fact > that many of C++ exported symbols in such libraries are not, in fact, > the part of the API, they are only exported because C++ cannot control > their visibility on the ELF symbol level. I'm talking about private > methods of classes. Private methods can still be part of the public ABI - e.g., if a public inline calls a private non-inline method, the resulting executable will have a reference to the "private" symbol. C++ libraries have yet another property which is unusual for C libraries - they typically use weak symbols.