Re: Versioned Symbols
I think that we should implement versioned symbols. If you have not
already done so please look at the log for bug#136707. I believe my
writeup in that bug log of how versioned symbols interact with symbol
resolution and under what circumstances it will cause ABI
compatibility issues with other distributions.
I believe that given the options versioning core libraries is the
right solution especially until ld.so gets scope resolution. I think
even beyond that time versioning some libraries may be necessary.
Note that while db2 was versioned, the maintainer ran into significant
problems on hppa and a few other architectures. There are a set of
symbols that cannot be versioned.
I believe that the right solution to make this easy to implement in a
manner that minimizes upstream patches is to provide a wrapper for ld
and/or gcc. The debian/rules file could include some directory with
this wrapper in the search path ahead of /usr/bin. The wrapper would
include a version script when building certain shared libraries. I
invision the wrapper reading a config file pointed to by an
environment variable to know which libraries should be versioned.
I think the trick will be finding out a reliable way of knowing what
symbols must not be versioned.
But I'd certainly be interested in helping someone do a demonstration
that versioning a significant number of packages is doable. I will
even eventually get around to doing it myself in some ideal future,
but non-volunteer jobs are keeping me rather busy right now.