This is Debian bug #336114:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=336114
I don't claim to be able to understand it all, but apparently (for example)
kdebase built with 4.0.2 doesn't work with arts built with 4.0.1.  Symbol
changes in arts between building with 4.0.1 and pre-4.0.2 look like the
following:

--- old
+++ new
@@ -42,7 +42,7 @@
 T lt_dlsetsearchpath
 T lt_dlsym
 T arts_strdup_printf(char const*, ...)
-V guard variable for __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool,
true>::_S_get_pool()::_S_pool
+V guard variable for __gnu_cxx::__common_pool<__gnu_cxx::__pool,
true>::_S_get_pool()::_S_pool
 T Arts::AuthAccept::readType(Arts::Buffer&)
 T Arts::AuthAccept::operator=(Arts::AuthAccept const&)
 T Arts::AuthAccept::AuthAccept(Arts::AuthAccept const&)
@@ -1215,10 +1215,9 @@
 W __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<std::string const,
std::string> >, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>
>::allocate(unsigned int, void const*)
 W __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<std::string const,
std::vector<std::string, std::allocator<std::string> > > >,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>
>::deallocate(std::_Rb_tree_node<std::pair<std::string const,
std::vector<std::string, std::allocator<std::string> > > >*, unsigned int)
 W __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<std::string const,
std::vector<std::string, std::allocator<std::string> > > >,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned
int, void const*)
-W __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>::_S_get_pool()
-W __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>::_S_initialize()
-W __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool,
true>::_S_initialize_once()
-W __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool,
true>::_S_destroy_thread_key(void*)
+W __gnu_cxx::__common_pool<__gnu_cxx::__pool, true>::_S_get_pool()
+W __gnu_cxx::__common_pool_base<__gnu_cxx::__pool, true>::_S_initialize()
+W __gnu_cxx::__common_pool_base<__gnu_cxx::__pool, true>::_S_initialize_once()
 T Arts::AnyRefBase::type() const
 T Arts::AnyRefBase::_read(Arts::Buffer*) const
 T Arts::AnyRefBase::_write(Arts::Buffer*) const
@@ -1317,7 +1316,6 @@
 W std::_Deque_base<Arts::IOWatchFD*, std::allocator<Arts::IOWatchFD*>
>::_M_destroy_nodes(Arts::IOWatchFD***, Arts::IOWatchFD***)
 W std::_Deque_base<Arts::IOWatchFD*, std::allocator<Arts::IOWatchFD*>
>::_M_initialize_map(unsigned int)
 W std::_Deque_base<Arts::IOWatchFD*, std::allocator<Arts::IOWatchFD*>
>::~_Deque_base()
-W std::_Deque_iterator<Arts::Notification, Arts::Notification const&,
Arts::Notification const*>::operator+=(int)
 W std::_Deque_iterator<Arts::Notification, Arts::Notification&,
Arts::Notification*>::operator+=(int)
 W std::map<std::string, Arts::TypeIdentification, std::less<std::string>,
std::allocator<std::pair<std::string const, Arts::TypeIdentification> >
>::operator[](std::string const&)
 W std::list<Arts::NamedStore<Arts::Object>::Element,
std::allocator<Arts::NamedStore<Arts::Object>::Element>
>::erase(std::_List_iterator<Arts::NamedStore<Arts::Object>::Element>)
@@ -1461,49 +1459,6 @@
 W void
std::__uninitialized_fill_n_aux<__gnu_cxx::__normal_iterator<Arts::ParamDef*,
std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> > >, unsigned int,
Arts::ParamDef>(__gnu_cxx::__normal_iterator<Arts::ParamDef*,
std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> > >, unsigned int,
Arts::ParamDef const&, __false_type)
 W void std::__uninitialized_fill_n_aux<Arts::ParamDef*, unsigned int,
Arts::ParamDef>(Arts::ParamDef*, unsigned int, Arts::ParamDef const&,
__false_type)
 W void std::fill<__gnu_cxx::__normal_iterator<Arts::ParamDef*,
std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> > >,
Arts::ParamDef>(__gnu_cxx::__normal_iterator<Arts::ParamDef*,
std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> > >,
__gnu_cxx::__normal_iterator<Arts::ParamDef*, std::vector<Arts::ParamDef,
std::allocator<Arts::ParamDef> > >, Arts::ParamDef const&)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<float*, std::vector<float,
std::allocator<float> > >, std::allocator<float>
>(__gnu_cxx::__normal_iterator<float*, std::vector<float, std::allocator<float>
> >, __gnu_cxx::__normal_iterator<float*, std::vector<float,
std::allocator<float> > >, std::allocator<float>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<unsigned char*,
std::vector<unsigned char, std::allocator<unsigned char> > >,
std::allocator<unsigned char> >(__gnu_cxx::__normal_iterator<unsigned char*,
std::vector<unsigned char, std::allocator<unsigned char> > >,
__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char,
std::allocator<unsigned char> > >, std::allocator<unsigned char>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<long*, std::vector<long,
std::allocator<long> > >, std::allocator<long>
>(__gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> >
>, __gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> >
>, std::allocator<long>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::TraderEntry*,
std::vector<Arts::TraderEntry, std::allocator<Arts::TraderEntry> > >,
std::allocator<Arts::TraderEntry>
>(__gnu_cxx::__normal_iterator<Arts::TraderEntry*,
std::vector<Arts::TraderEntry, std::allocator<Arts::TraderEntry> > >,
__gnu_cxx::__normal_iterator<Arts::TraderEntry*, std::vector<Arts::TraderEntry,
std::allocator<Arts::TraderEntry> > >, std::allocator<Arts::TraderEntry>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::TraderOffer*,
std::vector<Arts::TraderOffer, std::allocator<Arts::TraderOffer> > >,
std::allocator<Arts::TraderOffer>
>(__gnu_cxx::__normal_iterator<Arts::TraderOffer*,
std::vector<Arts::TraderOffer, std::allocator<Arts::TraderOffer> > >,
__gnu_cxx::__normal_iterator<Arts::TraderOffer*, std::vector<Arts::TraderOffer,
std::allocator<Arts::TraderOffer> > >, std::allocator<Arts::TraderOffer>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::AttributeDef*,
std::vector<Arts::AttributeDef, std::allocator<Arts::AttributeDef> > >,
std::allocator<Arts::AttributeDef>
>(__gnu_cxx::__normal_iterator<Arts::AttributeDef*,
std::vector<Arts::AttributeDef, std::allocator<Arts::AttributeDef> > >,
__gnu_cxx::__normal_iterator<Arts::AttributeDef*,
std::vector<Arts::AttributeDef, std::allocator<Arts::AttributeDef> > >,
std::allocator<Arts::AttributeDef>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::InterfaceDef*,
std::vector<Arts::InterfaceDef, std::allocator<Arts::InterfaceDef> > >,
std::allocator<Arts::InterfaceDef>
>(__gnu_cxx::__normal_iterator<Arts::InterfaceDef*,
std::vector<Arts::InterfaceDef, std::allocator<Arts::InterfaceDef> > >,
__gnu_cxx::__normal_iterator<Arts::InterfaceDef*,
std::vector<Arts::InterfaceDef, std::allocator<Arts::InterfaceDef> > >,
std::allocator<Arts::InterfaceDef>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::EnumComponent*,
std::vector<Arts::EnumComponent, std::allocator<Arts::EnumComponent> > >,
std::allocator<Arts::EnumComponent>
>(__gnu_cxx::__normal_iterator<Arts::EnumComponent*,
std::vector<Arts::EnumComponent, std::allocator<Arts::EnumComponent> > >,
__gnu_cxx::__normal_iterator<Arts::EnumComponent*,
std::vector<Arts::EnumComponent, std::allocator<Arts::EnumComponent> > >,
std::allocator<Arts::EnumComponent>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::TypeComponent*,
std::vector<Arts::TypeComponent, std::allocator<Arts::TypeComponent> > >,
std::allocator<Arts::TypeComponent>
>(__gnu_cxx::__normal_iterator<Arts::TypeComponent*,
std::vector<Arts::TypeComponent, std::allocator<Arts::TypeComponent> > >,
__gnu_cxx::__normal_iterator<Arts::TypeComponent*,
std::vector<Arts::TypeComponent, std::allocator<Arts::TypeComponent> > >,
std::allocator<Arts::TypeComponent>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::TraderRestriction*,
std::vector<Arts::TraderRestriction, std::allocator<Arts::TraderRestriction> >
>, std::allocator<Arts::TraderRestriction>
>(__gnu_cxx::__normal_iterator<Arts::TraderRestriction*,
std::vector<Arts::TraderRestriction, std::allocator<Arts::TraderRestriction> >
>, __gnu_cxx::__normal_iterator<Arts::TraderRestriction*,
std::vector<Arts::TraderRestriction, std::allocator<Arts::TraderRestriction> >
>, std::allocator<Arts::TraderRestriction>)
-W void
std::_Destroy<__gnu_cxx::__normal_iterator<Arts::ObjectInternalData::MethodTableEntry*,
std::vector<Arts::ObjectInternalData::MethodTableEntry,
std::allocator<Arts::ObjectInternalData::MethodTableEntry> > >,
std::allocator<Arts::ObjectInternalData::MethodTableEntry>
>(__gnu_cxx::__normal_iterator<Arts::ObjectInternalData::MethodTableEntry*,
std::vector<Arts::ObjectInternalData::MethodTableEntry,
std::allocator<Arts::ObjectInternalData::MethodTableEntry> > >,
__gnu_cxx::__normal_iterator<Arts::ObjectInternalData::MethodTableEntry*,
std::vector<Arts::ObjectInternalData::MethodTableEntry,
std::allocator<Arts::ObjectInternalData::MethodTableEntry> > >,
std::allocator<Arts::ObjectInternalData::MethodTableEntry>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::EnumDef*,
std::vector<Arts::EnumDef, std::allocator<Arts::EnumDef> > >,
std::allocator<Arts::EnumDef> >(__gnu_cxx::__normal_iterator<Arts::EnumDef*,
std::vector<Arts::EnumDef, std::allocator<Arts::EnumDef> > >,
__gnu_cxx::__normal_iterator<Arts::EnumDef*, std::vector<Arts::EnumDef,
std::allocator<Arts::EnumDef> > >, std::allocator<Arts::EnumDef>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::TypeDef*,
std::vector<Arts::TypeDef, std::allocator<Arts::TypeDef> > >,
std::allocator<Arts::TypeDef> >(__gnu_cxx::__normal_iterator<Arts::TypeDef*,
std::vector<Arts::TypeDef, std::allocator<Arts::TypeDef> > >,
__gnu_cxx::__normal_iterator<Arts::TypeDef*, std::vector<Arts::TypeDef,
std::allocator<Arts::TypeDef> > >, std::allocator<Arts::TypeDef>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::ParamDef*,
std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> > >,
std::allocator<Arts::ParamDef> >(__gnu_cxx::__normal_iterator<Arts::ParamDef*,
std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> > >,
__gnu_cxx::__normal_iterator<Arts::ParamDef*, std::vector<Arts::ParamDef,
std::allocator<Arts::ParamDef> > >, std::allocator<Arts::ParamDef>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::MethodDef*,
std::vector<Arts::MethodDef, std::allocator<Arts::MethodDef> > >,
std::allocator<Arts::MethodDef>
>(__gnu_cxx::__normal_iterator<Arts::MethodDef*, std::vector<Arts::MethodDef,
std::allocator<Arts::MethodDef> > >,
__gnu_cxx::__normal_iterator<Arts::MethodDef*, std::vector<Arts::MethodDef,
std::allocator<Arts::MethodDef> > >, std::allocator<Arts::MethodDef>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::ModuleDef*,
std::vector<Arts::ModuleDef, std::allocator<Arts::ModuleDef> > >,
std::allocator<Arts::ModuleDef>
>(__gnu_cxx::__normal_iterator<Arts::ModuleDef*, std::vector<Arts::ModuleDef,
std::allocator<Arts::ModuleDef> > >,
__gnu_cxx::__normal_iterator<Arts::ModuleDef*, std::vector<Arts::ModuleDef,
std::allocator<Arts::ModuleDef> > >, std::allocator<Arts::ModuleDef>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::Object_skel**,
std::vector<Arts::Object_skel*, std::allocator<Arts::Object_skel*> > >,
std::allocator<Arts::Object_skel*>
>(__gnu_cxx::__normal_iterator<Arts::Object_skel**,
std::vector<Arts::Object_skel*, std::allocator<Arts::Object_skel*> > >,
__gnu_cxx::__normal_iterator<Arts::Object_skel**,
std::vector<Arts::Object_skel*, std::allocator<Arts::Object_skel*> > >,
std::allocator<Arts::Object_skel*>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::TraderOffer_impl**,
std::vector<Arts::TraderOffer_impl*, std::allocator<Arts::TraderOffer_impl*> >
>, std::allocator<Arts::TraderOffer_impl*>
>(__gnu_cxx::__normal_iterator<Arts::TraderOffer_impl**,
std::vector<Arts::TraderOffer_impl*, std::allocator<Arts::TraderOffer_impl*> >
>, __gnu_cxx::__normal_iterator<Arts::TraderOffer_impl**,
std::vector<Arts::TraderOffer_impl*, std::allocator<Arts::TraderOffer_impl*> >
>, std::allocator<Arts::TraderOffer_impl*>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<Arts::Buffer**,
std::vector<Arts::Buffer*, std::allocator<Arts::Buffer*> > >,
std::allocator<Arts::Buffer*> >(__gnu_cxx::__normal_iterator<Arts::Buffer**,
std::vector<Arts::Buffer*, std::allocator<Arts::Buffer*> > >,
__gnu_cxx::__normal_iterator<Arts::Buffer**, std::vector<Arts::Buffer*,
std::allocator<Arts::Buffer*> > >, std::allocator<Arts::Buffer*>)
-W void std::_Destroy<__gnu_cxx::__normal_iterator<std::string*,
std::vector<std::string, std::allocator<std::string> > >,
std::allocator<std::string> >(__gnu_cxx::__normal_iterator<std::string*,
std::vector<std::string, std::allocator<std::string> > >,
__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string,
std::allocator<std::string> > >, std::allocator<std::string>)
-W void std::_Destroy<unsigned char*, std::allocator<unsigned char> >(unsigned
char*, unsigned char*, std::allocator<unsigned char>)
-W void std::_Destroy<Arts::TraderEntry*, std::allocator<Arts::TraderEntry>
>(Arts::TraderEntry*, Arts::TraderEntry*, std::allocator<Arts::TraderEntry>)
-W void std::_Destroy<Arts::TraderOffer*, std::allocator<Arts::TraderOffer>
>(Arts::TraderOffer*, Arts::TraderOffer*, std::allocator<Arts::TraderOffer>)
-W void std::_Destroy<Arts::AttributeDef*, std::allocator<Arts::AttributeDef>
>(Arts::AttributeDef*, Arts::AttributeDef*, std::allocator<Arts::AttributeDef>)
-W void std::_Destroy<Arts::InterfaceDef*, std::allocator<Arts::InterfaceDef>
>(Arts::InterfaceDef*, Arts::InterfaceDef*, std::allocator<Arts::InterfaceDef>)
-W void std::_Destroy<Arts::Notification*, std::allocator<Arts::Notification>
>(Arts::Notification*, Arts::Notification*, std::allocator<Arts::Notification>)
-W void std::_Destroy<Arts::EnumComponent*, std::allocator<Arts::EnumComponent>
>(Arts::EnumComponent*, Arts::EnumComponent*,
std::allocator<Arts::EnumComponent>)
-W void std::_Destroy<Arts::TypeComponent*, std::allocator<Arts::TypeComponent>
>(Arts::TypeComponent*, Arts::TypeComponent*,
std::allocator<Arts::TypeComponent>)
-W void std::_Destroy<Arts::TraderRestriction*,
std::allocator<Arts::TraderRestriction> >(Arts::TraderRestriction*,
Arts::TraderRestriction*, std::allocator<Arts::TraderRestriction>)
-W void std::_Destroy<Arts::ObjectInternalData::MethodTableEntry*,
std::allocator<Arts::ObjectInternalData::MethodTableEntry>
>(Arts::ObjectInternalData::MethodTableEntry*,
Arts::ObjectInternalData::MethodTableEntry*,
std::allocator<Arts::ObjectInternalData::MethodTableEntry>)
-W void std::_Destroy<Arts::EnumDef*, std::allocator<Arts::EnumDef>
>(Arts::EnumDef*, Arts::EnumDef*, std::allocator<Arts::EnumDef>)
-W void std::_Destroy<Arts::TypeDef*, std::allocator<Arts::TypeDef>
>(Arts::TypeDef*, Arts::TypeDef*, std::allocator<Arts::TypeDef>)
-W void std::_Destroy<Arts::ParamDef*, std::allocator<Arts::ParamDef>
>(Arts::ParamDef*, Arts::ParamDef*, std::allocator<Arts::ParamDef>)
-W void std::_Destroy<Arts::MethodDef*, std::allocator<Arts::MethodDef>
>(Arts::MethodDef*, Arts::MethodDef*, std::allocator<Arts::MethodDef>)
-W void std::_Destroy<Arts::ModuleDef*, std::allocator<Arts::ModuleDef>
>(Arts::ModuleDef*, Arts::ModuleDef*, std::allocator<Arts::ModuleDef>)
-W void std::_Destroy<Arts::Object_skel**, std::allocator<Arts::Object_skel*>
>(Arts::Object_skel**, Arts::Object_skel**, std::allocator<Arts::Object_skel*>)
-W void std::_Destroy<Arts::TraderOffer_impl**,
std::allocator<Arts::TraderOffer_impl*> >(Arts::TraderOffer_impl**,
Arts::TraderOffer_impl**, std::allocator<Arts::TraderOffer_impl*>)
-W void std::_Destroy<Arts::Buffer**, std::allocator<Arts::Buffer*>
>(Arts::Buffer**, Arts::Buffer**, std::allocator<Arts::Buffer*>)
-W void std::_Destroy<std::string*, std::allocator<std::string> >(std::string*,
std::string*, std::allocator<std::string>)
-W void std::_Destroy<std::_Deque_iterator<unsigned long, unsigned long&,
unsigned long*>, std::allocator<unsigned long> >(std::_Deque_iterator<unsigned
long, unsigned long&, unsigned long*>, std::_Deque_iterator<unsigned long,
unsigned long&, unsigned long*>, std::allocator<unsigned long>)
-W void std::_Destroy<std::_Deque_iterator<Arts::Notification,
Arts::Notification&, Arts::Notification*>, std::allocator<Arts::Notification>
>(std::_Deque_iterator<Arts::Notification, Arts::Notification&,
Arts::Notification*>, std::_Deque_iterator<Arts::Notification,
Arts::Notification&, Arts::Notification*>, std::allocator<Arts::Notification>)
-W void std::_Destroy<std::_Deque_iterator<Arts::ConnectionPrivate::Data,
Arts::ConnectionPrivate::Data&, Arts::ConnectionPrivate::Data*>,
std::allocator<Arts::ConnectionPrivate::Data>
>(std::_Deque_iterator<Arts::ConnectionPrivate::Data,
Arts::ConnectionPrivate::Data&, Arts::ConnectionPrivate::Data*>,
std::_Deque_iterator<Arts::ConnectionPrivate::Data,
Arts::ConnectionPrivate::Data&, Arts::ConnectionPrivate::Data*>,
std::allocator<Arts::ConnectionPrivate::Data>)
-W void std::_Destroy<std::_Deque_iterator<Arts::IOWatchFD*, Arts::IOWatchFD*&,
Arts::IOWatchFD**>, std::allocator<Arts::IOWatchFD*>
>(std::_Deque_iterator<Arts::IOWatchFD*, Arts::IOWatchFD*&, Arts::IOWatchFD**>,
std::_Deque_iterator<Arts::IOWatchFD*, Arts::IOWatchFD*&, Arts::IOWatchFD**>,
std::allocator<Arts::IOWatchFD*>)
 W void std::sort_heap<__gnu_cxx::__normal_iterator<Arts::TraderOffer*,
std::vector<Arts::TraderOffer, std::allocator<Arts::TraderOffer> > >, bool
(*)(Arts::TraderOffer,
Arts::TraderOffer)>(__gnu_cxx::__normal_iterator<Arts::TraderOffer*,
std::vector<Arts::TraderOffer, std::allocator<Arts::TraderOffer> > >,
__gnu_cxx::__normal_iterator<Arts::TraderOffer*, std::vector<Arts::TraderOffer,
std::allocator<Arts::TraderOffer> > >, bool (*)(Arts::TraderOffer,
Arts::TraderOffer))
 W std::_Deque_iterator<Arts::Notification, Arts::Notification&,
Arts::Notification*>::difference_type std::operator-<Arts::Notification,
Arts::Notification&, Arts::Notification*, Arts::Notification&,
Arts::Notification*>(std::_Deque_iterator<Arts::Notification,
Arts::Notification&, Arts::Notification*> const&,
std::_Deque_iterator<Arts::Notification, Arts::Notification&,
Arts::Notification*> const&)
 W std::basic_string<char, std::char_traits<char>, std::allocator<char> >
std::operator+<char, std::char_traits<char>, std::allocator<char> >(char
const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)
@@ -2287,5 +2242,6 @@
 V vtable for Arts::ModuleDef
 V vtable for Arts::Semaphore
 V vtable for Arts::TCPServer
-V __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool,
true>::_S_get_pool()::_S_pool
-V __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool,
true>::_S_initialize_once()::__init
+V __gnu_cxx::__common_pool<__gnu_cxx::__pool, true>::_S_get_pool()::_S_pool
+V __gnu_cxx::__common_pool_base<__gnu_cxx::__pool,
true>::_S_initialize_once()::__init
+V __gnu_cxx::__common_pool_base<__gnu_cxx::__pool,
true>::_S_initialize_once()::__once

And symbol changes in kdebase look like this:
--- old 2005-10-27 18:37:34.000000000 -0400
+++ new 2005-10-27 18:38:11.000000000 -0400
@@ -4,7 +4,7 @@
 T _fini
 T _init
 T init_konq_sound
-V guard variable for __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool,
true>::_S_get_pool()::_S_pool
+V guard variable for __gnu_cxx::__common_pool<__gnu_cxx::__pool,
true>::_S_get_pool()::_S_pool
 W QValueList<QString>::detachInternal()
 W KonqSoundPlayer::~KonqSoundPlayer()
 W KonqSoundPlayer::~KonqSoundPlayer()
@@ -26,7 +26,7 @@
 T KonqSoundPlayerImpl::~KonqSoundPlayerImpl()
 W __gnu_cxx::__mt_alloc<Arts::TraderOffer,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>
>::deallocate(Arts::TraderOffer*, unsigned int)
 W __gnu_cxx::__mt_alloc<std::string,
__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>
>::deallocate(std::string*, unsigned int)
-W __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>::_S_get_pool()
+W __gnu_cxx::__common_pool<__gnu_cxx::__pool, true>::_S_get_pool()
 W KLibFactory::metaObject() const
 W QGList::count() const
 W QObject::metaObject() const
@@ -42,4 +42,4 @@
 V vtable for KonqSoundFactory
 V vtable for KonqSoundPlayerImpl
 V vtable for QGList
-V __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool,
true>::_S_get_pool()::_S_pool
+V __gnu_cxx::__common_pool<__gnu_cxx::__pool, true>::_S_get_pool()::_S_pool

So there's some change going on with __common_pool vs. __common_pool_policy
which amounts to a backwards-incompatible change.  :-P


-- 
           Summary: Accidental ABI change between 4.0.1 and 4.0.2?
           Product: gcc
           Version: 4.0.2
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: neroden at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24712

Reply via email to