This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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: running 4.4 libstdc++ testsuite using 4.5's libstdc++ shared library


Jonathan Wakely wrote:

> The ABI will have to change one day, and the soname will change then,
> but in practice we can't just introduce changes and bump the soname
> (see e.g. http://gcc.gnu.org/ml/libstdc++/2009-07/msg00036.html for
> one statement strongly against ABI changes.)  Instead we have to hold
> back on making changes at all, or figure out how to do them
> compatibly.

I agree with that goal.  I agree with Ulrich that C++ adoption over the
years has been hurt by lack of binary (and source!) compatibility and
that we should try hard to avoid it in future.  So, I also agree with
you: in some cases, it's going to be better to avoid making a change
than to break the ABI, and that a separate library, or two versions of
the library, or something magical with namespaces, might be a good
solution.

My claim is simply that *if* we break the ABI, we must change the
SONAME.  Precisely because that's so painful, I'm afraid that we'll be
tempted to say "not very many people are using this feature, and so we
think we can change it without changing the SONAME".  I think we need to
treat the SONAME as a solemn promise.

Thanks,

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713


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