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

Re: -Wl,--as-needed considered possibly harmful



On Wed, Jan 02, 2008 at 11:53:16AM +0000, Neil Williams wrote:
> > Because *all* libraries which have other libs as reverse-dependencies should
> > implement symbol versioning, precisely as the shortest path for reliably and
> > permanently addressing the various issues we're discussing.

> > It *is* libbaz's fault for having an ABI-breaking change.  And based on
> > history, it is only reasonable to assume all such libraries are guilty, and
> > demand that they use symbol versioning in anticipation of such future ABI
> > changes.

> OK, I'm doing this upstream for one of my packages - following threads from:
> http://lists.debian.org/debian-mentors/2007/05/msg00387.html
> http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_node/ld_25.html

> That gave me a basic versioning addition to the library, a diff of
> objdump -p shows:
> +Version definitions:
> +1 0x01 0x06077991 libqof.so.1
> +2 0x00 0x0f307023 LIBQOF_0.7.3
> +

> (I'm not putting the history of the symbols into the file at this stage
> - no new symbols are added in the new version so the libqof.ver file is
> simply marking all as global. I could add historical data - is there any
> benefit in that?)

No, I don't think there's any benefit in adding the historical data after
the fact.

> That's upstream covered, it appears I also need debian/libqof1.symbols
> from http://qa.debian.org/cgi-bin/mole/seedsymbols ? If I had done
> symbol versioning correctly upstream, shouldn't dpkg-shlibdeps be able
> to create the necessary data itself? I don't provide a .shlib file of
> my own at this stage.

The symbols files are orthogonal to symbol versioning.  Symbols files are
basically "per-function shlibs", which are applicable even to libs that
don't use symbol versioning; their main benefit is for libraries which make
backwards-compatible ABI changes.

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org


Reply to: