From 9a7aa3326d087c79879e435179e359dd76aa5e0a Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 16 Apr 2019 16:11:39 +0200 Subject: The -fvisibility-ms-compat hack is no longer needed for UBSan on Linux... ...with latest Clang trunk towards Clang 9. All the no-longer necessary hacks are made conditional on new NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY, which is still set for UBSan builds with older Clang on Linux (but which should eventually be purged). Various classes needed additional SAL_DLLPUBLIC_RTTI annotations, as building with UBSan instrumentation can generate references to RTTI symbols from additional places like outside a dynamic library that used to hide those symbols by default (but used to not hide them for old UBSan builds thanks to the -fvisibility-ms-compat hack). The odr-violation suppressions in solenv/sanitizers/asan-suppressions (which is not referenced from anywhere in the code base, but meant to be included in an ASan/UBSan build's ASAN_OPTIONS env var) are also no longer needed when NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY is false. Change-Id: I24ec3e388b0cbab50dbe2bf008d9569bff7bf25a Reviewed-on: https://gerrit.libreoffice.org/70829 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- external/libabw/UnpackedTarball_libabw.mk | 4 +--- external/libcdr/UnpackedTarball_libcdr.mk | 4 +--- external/libebook/UnpackedTarball_libebook.mk | 4 +--- external/libepubgen/UnpackedTarball_libepubgen.mk | 4 +--- external/libetonyek/UnpackedTarball_libetonyek.mk | 4 +--- external/libfreehand/UnpackedTarball_libfreehand.mk | 4 +--- external/libmspub/UnpackedTarball_libmspub.mk | 4 +--- external/libmwaw/UnpackedTarball_libmwaw.mk | 4 +--- external/libodfgen/UnpackedTarball_libodfgen.mk | 4 +--- external/libpagemaker/UnpackedTarball_libpagemaker.mk | 4 +--- external/libqxp/UnpackedTarball_libqxp.mk | 4 +--- external/librevenge/UnpackedTarball_librevenge.mk | 4 +--- external/libstaroffice/UnpackedTarball_libstaroffice.mk | 4 +--- external/libvisio/UnpackedTarball_libvisio.mk | 4 +--- external/libwps/UnpackedTarball_libwps.mk | 4 +--- external/libzmf/UnpackedTarball_libzmf.mk | 4 +--- 16 files changed, 16 insertions(+), 48 deletions(-) (limited to 'external') diff --git a/external/libabw/UnpackedTarball_libabw.mk b/external/libabw/UnpackedTarball_libabw.mk index 27195d3a0ab3..212abfbc4674 100644 --- a/external/libabw/UnpackedTarball_libabw.mk +++ b/external/libabw/UnpackedTarball_libabw.mk @@ -19,12 +19,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,libabw, \ external/libabw/libabw-msvc.patch.1 \ )) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libabw, \ external/libabw/ubsan-visibility.patch \ )) endif -endif # vim: set noet sw=4 ts=4: diff --git a/external/libcdr/UnpackedTarball_libcdr.mk b/external/libcdr/UnpackedTarball_libcdr.mk index 23874f7d01b5..7433d2bb4e67 100644 --- a/external/libcdr/UnpackedTarball_libcdr.mk +++ b/external/libcdr/UnpackedTarball_libcdr.mk @@ -19,12 +19,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,libcdr, \ external/libcdr/libcdr-visibility-win.patch \ )) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libcdr, \ external/libcdr/ubsan-visibility.patch \ )) endif -endif # vim: set noet sw=4 ts=4: diff --git a/external/libebook/UnpackedTarball_libebook.mk b/external/libebook/UnpackedTarball_libebook.mk index af2ddea28ae1..17b1a892dc3e 100644 --- a/external/libebook/UnpackedTarball_libebook.mk +++ b/external/libebook/UnpackedTarball_libebook.mk @@ -15,12 +15,10 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libebook,0)) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libebook)) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libebook, \ external/libebook/ubsan-visibility.patch \ )) endif -endif # vim: set noet sw=4 ts=4: diff --git a/external/libepubgen/UnpackedTarball_libepubgen.mk b/external/libepubgen/UnpackedTarball_libepubgen.mk index 7553e825284f..051cc29021cc 100644 --- a/external/libepubgen/UnpackedTarball_libepubgen.mk +++ b/external/libepubgen/UnpackedTarball_libepubgen.mk @@ -10,11 +10,9 @@ epubgen_patches := epubgen_patches += tdf-120491.patch -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) epubgen_patches += ubsan-visibility.patch endif -endif $(eval $(call gb_UnpackedTarball_UnpackedTarball,libepubgen)) diff --git a/external/libetonyek/UnpackedTarball_libetonyek.mk b/external/libetonyek/UnpackedTarball_libetonyek.mk index 81685831fb60..01aac83c812a 100644 --- a/external/libetonyek/UnpackedTarball_libetonyek.mk +++ b/external/libetonyek/UnpackedTarball_libetonyek.mk @@ -32,12 +32,10 @@ endif endif endif -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libetonyek, \ external/libetonyek/ubsan-visibility.patch \ )) endif -endif # vim: set noet sw=4 ts=4: diff --git a/external/libfreehand/UnpackedTarball_libfreehand.mk b/external/libfreehand/UnpackedTarball_libfreehand.mk index 3d4a3d522687..0853d0420129 100644 --- a/external/libfreehand/UnpackedTarball_libfreehand.mk +++ b/external/libfreehand/UnpackedTarball_libfreehand.mk @@ -15,12 +15,10 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libfreehand,0)) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libfreehand)) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libfreehand, \ external/libfreehand/ubsan-visibility.patch \ )) endif -endif # vim: set noet sw=4 ts=4: diff --git a/external/libmspub/UnpackedTarball_libmspub.mk b/external/libmspub/UnpackedTarball_libmspub.mk index 5e5bedb27d83..f337d402d47f 100644 --- a/external/libmspub/UnpackedTarball_libmspub.mk +++ b/external/libmspub/UnpackedTarball_libmspub.mk @@ -25,12 +25,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,libmspub, \ )) endif -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libmspub, \ external/libmspub/ubsan-visibility.patch \ )) endif -endif # vim: set noet sw=4 ts=4: diff --git a/external/libmwaw/UnpackedTarball_libmwaw.mk b/external/libmwaw/UnpackedTarball_libmwaw.mk index cd1551a1fe97..62357c008071 100644 --- a/external/libmwaw/UnpackedTarball_libmwaw.mk +++ b/external/libmwaw/UnpackedTarball_libmwaw.mk @@ -15,13 +15,11 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libmwaw,0)) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libmwaw)) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libmwaw, \ external/libmwaw/ubsan-visibility.patch \ )) endif -endif ifneq ($(OS),MACOSX) ifneq ($(OS),WNT) diff --git a/external/libodfgen/UnpackedTarball_libodfgen.mk b/external/libodfgen/UnpackedTarball_libodfgen.mk index 10eb24fd77a7..80ccbf73bfd5 100644 --- a/external/libodfgen/UnpackedTarball_libodfgen.mk +++ b/external/libodfgen/UnpackedTarball_libodfgen.mk @@ -15,13 +15,11 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libodfgen,0)) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libodfgen)) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libodfgen, \ external/libodfgen/ubsan-visibility.patch \ )) endif -endif ifeq ($(SYSTEM_REVENGE),) $(eval $(call gb_UnpackedTarball_add_patches,libodfgen, \ diff --git a/external/libpagemaker/UnpackedTarball_libpagemaker.mk b/external/libpagemaker/UnpackedTarball_libpagemaker.mk index 2de27d5abbfd..a090d334c3fe 100644 --- a/external/libpagemaker/UnpackedTarball_libpagemaker.mk +++ b/external/libpagemaker/UnpackedTarball_libpagemaker.mk @@ -15,12 +15,10 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libpagemaker,0)) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libpagemaker)) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libpagemaker, \ external/libpagemaker/ubsan-visibility.patch \ )) endif -endif # vim: set noet sw=4 ts=4: diff --git a/external/libqxp/UnpackedTarball_libqxp.mk b/external/libqxp/UnpackedTarball_libqxp.mk index 8519e983d957..c0d89263a4d2 100644 --- a/external/libqxp/UnpackedTarball_libqxp.mk +++ b/external/libqxp/UnpackedTarball_libqxp.mk @@ -15,13 +15,11 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libqxp,0)) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libqxp)) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libqxp, \ external/libqxp/ubsan-visibility.patch \ )) endif -endif $(eval $(call gb_UnpackedTarball_add_patches,libqxp, \ external/libqxp/android-workaround.patch.1 \ diff --git a/external/librevenge/UnpackedTarball_librevenge.mk b/external/librevenge/UnpackedTarball_librevenge.mk index 678da6454586..7e4c48f59619 100644 --- a/external/librevenge/UnpackedTarball_librevenge.mk +++ b/external/librevenge/UnpackedTarball_librevenge.mk @@ -19,13 +19,11 @@ $(eval $(call gb_UnpackedTarball_add_patches,librevenge, \ external/librevenge/rpath.patch \ )) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,librevenge, \ external/librevenge/ubsan-visibility.patch \ )) endif -endif ifneq ($(OS),MACOSX) ifneq ($(OS),WNT) diff --git a/external/libstaroffice/UnpackedTarball_libstaroffice.mk b/external/libstaroffice/UnpackedTarball_libstaroffice.mk index fdf668d196dc..98b8e14cdaec 100644 --- a/external/libstaroffice/UnpackedTarball_libstaroffice.mk +++ b/external/libstaroffice/UnpackedTarball_libstaroffice.mk @@ -15,13 +15,11 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libstaroffice,0)) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libstaroffice)) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libstaroffice, \ external/libstaroffice/ubsan-visibility.patch \ )) endif -endif ifneq ($(OS),MACOSX) ifneq ($(OS),WNT) diff --git a/external/libvisio/UnpackedTarball_libvisio.mk b/external/libvisio/UnpackedTarball_libvisio.mk index 1ab8b392c4e8..0ff189261f42 100644 --- a/external/libvisio/UnpackedTarball_libvisio.mk +++ b/external/libvisio/UnpackedTarball_libvisio.mk @@ -20,12 +20,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,libvisio, \ external/libvisio/0001-fix-debug-build.patch.1 \ )) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libvisio, \ external/libvisio/ubsan-visibility.patch \ )) endif -endif # vim: set noet sw=4 ts=4: diff --git a/external/libwps/UnpackedTarball_libwps.mk b/external/libwps/UnpackedTarball_libwps.mk index d712f25406bd..b148db2f93d2 100644 --- a/external/libwps/UnpackedTarball_libwps.mk +++ b/external/libwps/UnpackedTarball_libwps.mk @@ -27,12 +27,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,libwps,\ endif endif -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libwps, \ external/libwps/ubsan-visibility.patch.0 \ )) endif -endif # vim: set noet sw=4 ts=4: diff --git a/external/libzmf/UnpackedTarball_libzmf.mk b/external/libzmf/UnpackedTarball_libzmf.mk index 3aafc660e9d5..5d5e7066572d 100644 --- a/external/libzmf/UnpackedTarball_libzmf.mk +++ b/external/libzmf/UnpackedTarball_libzmf.mk @@ -15,13 +15,11 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libzmf,0)) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libzmf)) -ifeq ($(COM_IS_CLANG),TRUE) -ifneq ($(filter -fsanitize=%,$(CC)),) +ifeq ($(NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,libzmf, \ external/libzmf/ubsan-visibility.patch \ )) endif -endif $(eval $(call gb_UnpackedTarball_add_patches,libzmf, \ external/libzmf/android-workaround.patch.1 \ -- cgit