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: debug algo patch


In fact there is already a binary incompatibility, some tests are failing because of:

/home/fdt/dev/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/stl_algobase.h:484: undefined reference to `__gnu_cxx::__enable_if<std::__is_char<char>::__value, std::ostreambuf_iterator<char, std::char_traits<char> > >::__type std::__detail::__copy_move_a2<false, char>(char const*, char const*, std::ostreambuf_iterator<char, std::char_traits<char> >)'

But of course it wouldn't be very complicated to restore exported __copy_move_a2 symbol namespace.

However to make the patch work I will have to do additional modifications that will surely introduce more binary incompatibility. Perhaps only to the debug mode but I already know that some maintainers don't want any binary incompatibility, even in debug mode.

Maybe we could do a branch for binary incompatible debug mode different from the one impacting normal mode ? However it will make branch management more complicated. Is there any plan to break binary compatibility in a version to come ?

François

On 05/24/2011 10:06 PM, Christopher Jefferson wrote:
On 24 May 2011, at 20:46, François Dumont wrote:

....

I am considering to start the SVN binary incompatible branch with this patch as soon as it works.
Out of interest, which parts of this will be binary incompatible?

It is obviously vital not to break the non-debugging containers and algorithms, but remaining internal functions won't do that, if you are careful.

Further (and I certainly don't speak for everyone), as long as you put them in a different namespace, I wouldn't mind a binary-incompatable debugging library. I do not know if there has ever been an assumption of ABI compatibility in debug mode, but I certainly haven't assumed it. Others may of course disagree.

Chris


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