external/libepubgen/UnpackedTarball_libepubgen.mk |    8 ++++++++
 external/libepubgen/ubsan-visibility.patch        |   11 +++++++++++
 2 files changed, 19 insertions(+)

New commits:
commit fb899f976d2d8f15ca992ecb61511a2c83153c33
Author: Stephan Bergmann <sberg...@redhat.com>
Date:   Wed Aug 9 16:04:48 2017 +0200

    For Clang -fsanitize=vptr use -fvisibility-ms-compat in exernal/libepubgen 
too
    
    ...similarly to how it is used for other external libraries since
    f0aa1a78fb209310e8baef53c02f365fca518d11 "For Clang -fsanitize=vptr use
    -fvisibility-ms-compat, not -fvisibility=hidden".  This caused
    CppunitTest_writerperfect_writer to fail now with -fsanitize=vptr after
    7915f35d7fca5d0720d96954beaa97c00a2c3821 "EPUB export: implement doc/para
    open/close and text in doc handler", where additions to
    writerperfect/source/writer/EPUBExportFilter.cxx caused Library_wpftwriter 
to
    import more stuff from the libepubgen archive, which happend to make it 
pick up
    the (erroneously hidden) definition of _ZTIN10librevenge17RVNGTextInterfaceE
    from that archive, instead of from some other object/archive as happened 
before.
    
    Change-Id: I2b56df38d7225505ff993321598ddd51812d9de4

diff --git a/external/libepubgen/UnpackedTarball_libepubgen.mk 
b/external/libepubgen/UnpackedTarball_libepubgen.mk
index 5525ca3b2ce7..8d60eccc65fe 100644
--- a/external/libepubgen/UnpackedTarball_libepubgen.mk
+++ b/external/libepubgen/UnpackedTarball_libepubgen.mk
@@ -17,10 +17,18 @@ epubgen_patches += libepubgen-validation3.patch.1
 # Backport of 
<https://sourceforge.net/p/libepubgen/code/ci/49f6461d4751d3b16e32ab8f9c93a3856b33be49/>.
 epubgen_patches += libepubgen-vc.patch.1
 
+ifeq ($(COM_IS_CLANG),TRUE)
+ifneq ($(filter -fsanitize=%,$(CC)),)
+epubgen_patches += ubsan-visibility.patch
+endif
+endif
+
 $(eval $(call gb_UnpackedTarball_UnpackedTarball,libepubgen))
 
 $(eval $(call gb_UnpackedTarball_set_tarball,libepubgen,$(EPUBGEN_TARBALL)))
 
+$(eval $(call gb_UnpackedTarball_set_patchlevel,libepubgen,0))
+
 $(eval $(call gb_UnpackedTarball_add_patches,libepubgen,\
        $(foreach patch,$(epubgen_patches),external/libepubgen/$(patch)) \
 ))
diff --git a/external/libepubgen/ubsan-visibility.patch 
b/external/libepubgen/ubsan-visibility.patch
new file mode 100644
index 000000000000..10234b308ba5
--- /dev/null
+++ b/external/libepubgen/ubsan-visibility.patch
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -18425,7 +18425,7 @@
+         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 
-fvisibility=hidden compiler flag" >&5
+ $as_echo_n "checking for -fvisibility=hidden compiler flag... " >&6; }
+         saved_CXXFLAGS="$CXXFLAGS"
+-        CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
++        CXXFLAGS="$CXXFLAGS -fvisibility-ms-compat"
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to