[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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.

Reply to: