Just noticed that due to errors in cppuhelper/source/compat.cxx we inadvertently become backwards incompatible in the ABI of the cppuhelper dynamic library in LibreOffice 4.0 and 4.1. However, this only affects symbols representing deprecated, unused C++ functions that we deliberately removed and for which we left aborting stubs in cppuhelper/source/compat.cxx (attempting to not deliberately break the ABI);

$ nm -D --def lo-3.6/core/solver/unxlngx6/lib/libuno_cppuhelpergcc3.so.3 | grep 
-vw V | cut -d' ' -f2- | LC_ALL=C sort > syms.3.6
$ nm -D --def lo-4.0/core/solver/unxlngx6/lib/libuno_cppuhelpergcc3.so.3 | grep 
-vw V | cut -d' ' -f2- | LC_ALL=C sort > syms.4.0
$ nm -D --def lo-4.1/core/solver/unxlngx6/lib/libuno_cppuhelpergcc3.so.3 | grep 
-vw V | cut -d' ' -f2- | LC_ALL=C sort > syms.4.1
$ nm -D --def lo/core/instdir/unxlngx6/ure/lib/libuno_cppuhelpergcc3.so.3 | grep 
-vw V | cut -d' ' -f2- | LC_ALL=C sort > syms.4.2
$ diff syms.3.6 syms.4.0 | grep '<'
< T 
_ZN4cppu31createStandardClassWithSequenceERKN3com3sun4star3uno9ReferenceINS2_4lang20XMultiServiceFactoryEEERKN3rtl8OUStringERKNS4_INS2_10reflection9XIdlClassEEERKNS3_8SequenceISB_EE
$ diff syms.3.6 syms.4.1 | grep '<'
< T _ZN4cppu20createNestedRegistryERKN3rtl8OUStringE
< T _ZN4cppu20createSimpleRegistryERKN3rtl8OUStringE
< T _ZN4cppu28createRegistryServiceFactoryERKN3rtl8OUStringES3_hS3_
< T 
_ZN4cppu31createStandardClassWithSequenceERKN3com3sun4star3uno9ReferenceINS2_4lang20XMultiServiceFactoryEEERKN3rtl8OUStringERKNS4_INS2_10reflection9XIdlClassEEERKNS3_8SequenceISB_EE
< T 
_ZN4cppu33bootstrap_InitialComponentContextERKN3com3sun4star3uno9ReferenceINS2_8registry15XSimpleRegistryEEERKN3rtl8OUStringE
$ diff syms.3.6 syms.4.2 | grep '<'
$

In a sense, it is a good thing that apparently nobody else noticed this.  ;)

I fixed that now on master towards LibreOffice 4.2 with <http://cgit.freedesktop.org/libreoffice/core/commit/?id=69f1846f4095a9dc607a0e568980d8625d657c94> "All the content of cppuhelper/source/compat.cxx must be in namespace cppu" and requested backports to libreoffice-4-0 (<https://gerrit.libreoffice.org/#/c/6098/>) and libreoffice-4-1 (<https://gerrit.libreoffice.org/#/c/6097/>) branches.

Stephan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to