This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc 3.3


On Wed, Jul 31, 2002 at 07:41:09AM +1000, Fergus Henderson wrote:
> 
> P.S. I have a question of my own regarding symbol versioning.  Suppose I
> have a C++ library `libfoo.so' that references libstdc++.so, and an
> application `bar' that references both libfoo.so and libstdc++.so, and
> suppose an ABI-breaking change is made to libstdc++.  A new version of
> libstdc++ is installed; this has both the symbols for the new libstdc++
> ABI, and symbols compatible with the old libstdc++ ABI, marked with the
> old version number.  So `bar' continues to work.  Now, I try to compile
> an application `baz' that references both libfoo.so and libstdc++.so.
> `baz' uses the new version of the libstdc++.so ABI, but libfoo.so refers
> to the old version.  To make `baz' work, I'd need to upgrade libfoo.so
> to a version that uses the new version of the libstdc++.so ABI.  But that
> would break `bar', wouldn't it?  (Or am I just hopelessly confused about

Why will the new libfoo.so break bar if it is binary compatible with
the old libfoo.so?


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]