external/cairo/ExternalProject_cairo.mk | 1 + external/cairo/ExternalProject_pixman.mk | 1 + external/curl/ExternalProject_curl.mk | 1 + external/fontconfig/ExternalProject_fontconfig.mk | 1 + external/freetype/ExternalProject_freetype.mk | 1 + external/liblangtag/ExternalProject_liblangtag.mk | 1 + external/nss/ExternalProject_nss.mk | 2 +- external/openssl/ExternalProject_openssl.mk | 1 + external/python3/ExternalProject_python3.mk | 1 + external/redland/ExternalProject_raptor.mk | 1 + external/redland/ExternalProject_rasqal.mk | 1 + external/redland/ExternalProject_redland.mk | 1 + external/xmlsec/ExternalProject_xmlsec.mk | 1 + solenv/sanitizers/ubsan-suppressions | 13 ------------- 14 files changed, 13 insertions(+), 14 deletions(-)
New commits: commit 233e0a009a6a22342a86a03eeb1349be2cd2d3eb Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Thu Sep 14 22:56:58 2023 +0200 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Fri Sep 15 07:58:37 2023 +0200 A more principled suppression of -fsanitize=function in external C code ...after <https://github.com/llvm/llvm-project/commit/279a4d0d67c874e80c171666822f2fabdd6fa926> "-fsanitize=function: support C". This includes reverts of 16af9e81863a80116f808ee3cfa4a1bab7c67ac5 "update clang asan suppressions" and 151a43f3d00f6523079c53d6c2d064f80b9a55d6 ""update clang asan suppressions". Change-Id: I49740f5f3a784af1d62b830b47bfdfa27fe3e471 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156935 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/external/cairo/ExternalProject_cairo.mk b/external/cairo/ExternalProject_cairo.mk index b677098482ff..df6bd5a37b78 100644 --- a/external/cairo/ExternalProject_cairo.mk +++ b/external/cairo/ExternalProject_cairo.mk @@ -49,6 +49,7 @@ $(call gb_ExternalProject_get_state_target,cairo,build) : $(if $(debug),STRIP=" ") \ $(if $(filter ANDROID iOS,$(OS)),CFLAGS="$(if $(debug),-g) $(ZLIB_CFLAGS) $(gb_VISIBILITY_FLAGS)") \ $(if $(filter EMSCRIPTEN,$(OS)),CFLAGS="-O3 -DCAIRO_NO_MUTEX $(ZLIB_CFLAGS) -Wno-enum-conversion $(gb_EMSCRIPTEN_CPPFLAGS)" ) \ + $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ $(if $(filter-out EMSCRIPTEN ANDROID iOS,$(OS)), \ CFLAGS="$(CFLAGS) $(call gb_ExternalProject_get_build_flags,cairo) $(ZLIB_CFLAGS)" \ LDFLAGS="$(call gb_ExternalProject_get_link_flags,cairo)" \ diff --git a/external/cairo/ExternalProject_pixman.mk b/external/cairo/ExternalProject_pixman.mk index 29902b4c1f5c..f95fcb626ccc 100644 --- a/external/cairo/ExternalProject_pixman.mk +++ b/external/cairo/ExternalProject_pixman.mk @@ -29,6 +29,7 @@ $(call gb_ExternalProject_get_state_target,pixman,build) : $(gb_CONFIGURE_PLATFORMS) \ $(if $(CROSS_COMPILING),$(if $(filter INTEL ARM,$(CPUNAME)),ac_cv_c_bigendian=no)) \ $(if $(filter EMSCRIPTEN,$(OS)),CFLAGS="-O3 -pthread -msimd128") \ + $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ && $(MAKE) \ ) $(call gb_Trace_EndRange,pixman,EXTERNAL) diff --git a/external/curl/ExternalProject_curl.mk b/external/curl/ExternalProject_curl.mk index 087ea2c44b39..a4029c2fc4b2 100644 --- a/external/curl/ExternalProject_curl.mk +++ b/external/curl/ExternalProject_curl.mk @@ -76,6 +76,7 @@ $(call gb_ExternalProject_get_state_target,curl,build): $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ $(if $(filter MACOSX,$(OS)),CFLAGS='$(CFLAGS) \ -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET)') \ + $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ CPPFLAGS='$(curl_CPPFLAGS)' \ CFLAGS="$(gb_CFLAGS) $(call gb_ExternalProject_get_build_flags,curl)" \ LDFLAGS='$(call gb_ExternalProject_get_link_flags,curl) $(curl_LDFLAGS)' \ diff --git a/external/fontconfig/ExternalProject_fontconfig.mk b/external/fontconfig/ExternalProject_fontconfig.mk index efa812250db8..ee0301b251db 100644 --- a/external/fontconfig/ExternalProject_fontconfig.mk +++ b/external/fontconfig/ExternalProject_fontconfig.mk @@ -24,6 +24,7 @@ fontconfig_add_fonts=/usr/share/X11/fonts/Type1,/usr/share/X11/fonts/TTF,/usr/lo $(call gb_ExternalProject_get_state_target,fontconfig,build) : $(call gb_Trace_StartRange,fontconfig,EXTERNAL) $(call gb_ExternalProject_run,build,\ + $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ CFLAGS="$(CFLAGS) \ $(call gb_ExternalProject_get_build_flags,fontconfig) \ $(gb_VISIBILITY_FLAGS) \ diff --git a/external/freetype/ExternalProject_freetype.mk b/external/freetype/ExternalProject_freetype.mk index e9720065490c..d3d65612200c 100644 --- a/external/freetype/ExternalProject_freetype.mk +++ b/external/freetype/ExternalProject_freetype.mk @@ -26,6 +26,7 @@ $(call gb_ExternalProject_get_state_target,freetype,build) : --without-png \ --prefix=$(call gb_UnpackedTarball_get_dir,freetype/instdir) \ $(gb_CONFIGURE_PLATFORMS) \ + $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ CFLAGS="$(CFLAGS) \ $(call gb_ExternalProject_get_build_flags,freetype) \ $(call gb_ExternalProject_get_link_flags,freetype) \ diff --git a/external/liblangtag/ExternalProject_liblangtag.mk b/external/liblangtag/ExternalProject_liblangtag.mk index 9e2553860986..1ce4b6eb7367 100644 --- a/external/liblangtag/ExternalProject_liblangtag.mk +++ b/external/liblangtag/ExternalProject_liblangtag.mk @@ -29,6 +29,7 @@ $(call gb_ExternalProject_get_state_target,liblangtag,build): --enable-shared --disable-static) \ $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ $(if $(filter TRUE,$(HAVE_GCC_BUILTIN_ATOMIC)),"lt_cv_has_atomic=yes","lt_cv_has_atomic=no") \ + $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ CFLAGS='$(CFLAGS) -pthread \ $(call gb_ExternalProject_get_build_flags,liblangtag)' \ $(gb_CONFIGURE_PLATFORMS) \ diff --git a/external/nss/ExternalProject_nss.mk b/external/nss/ExternalProject_nss.mk index 7f98c247e936..b603061ca9a0 100644 --- a/external/nss/ExternalProject_nss.mk +++ b/external/nss/ExternalProject_nss.mk @@ -74,7 +74,7 @@ $(call gb_ExternalProject_get_state_target,nss,build): \ RANLIB="$(RANLIB)" \ NMEDIT="$(NM)edit" \ COMMA=$(COMMA) \ - CC="$(CC)$(if $(filter iOS,$(OS)), -DNSS_STATIC_SOFTOKEN=1 -DNSS_STATIC_FREEBL=1 -DNSS_STATIC_PKCS11=1)$(if $(filter ANDROID,$(OS)), -D_PR_NO_LARGE_FILES=1 -DSQLITE_DISABLE_LFS=1)" CCC="$(CXX)" \ + CC="$(CC) $(if $(filter -fsanitize=undefined,$(CC)),-fno-sanitize=function) $(if $(filter iOS,$(OS)), -DNSS_STATIC_SOFTOKEN=1 -DNSS_STATIC_FREEBL=1 -DNSS_STATIC_PKCS11=1)$(if $(filter ANDROID,$(OS)), -D_PR_NO_LARGE_FILES=1 -DSQLITE_DISABLE_LFS=1)" CCC="$(CXX)" \ $(if $(CROSS_COMPILING),NSINSTALL="$(if $(filter MACOSX,$(OS_FOR_BUILD)),xcrun python3,$(call gb_ExternalExecutable_get_command,python)) $(SRCDIR)/external/nss/nsinstall.py") \ $(if $(filter ANDROID,$(OS)),OS_TARGET=Android OS_TARGET_RELEASE=$(ANDROID_API_LEVEL) ARCHFLAG="" DEFAULT_COMPILER=clang ANDROID_NDK=$(ANDROID_NDK_DIR) ANDROID_TOOLCHAIN_VERSION=$(ANDROID_GCC_TOOLCHAIN_VERSION) ANDROID_PREFIX=$(HOST_PLATFORM) ANDROID_SYSROOT=$(ANDROID_NDK_DIR)/sysroot) \ NSS_DISABLE_GTESTS=1 \ diff --git a/external/openssl/ExternalProject_openssl.mk b/external/openssl/ExternalProject_openssl.mk index e44ccf5f3436..d197721d024a 100644 --- a/external/openssl/ExternalProject_openssl.mk +++ b/external/openssl/ExternalProject_openssl.mk @@ -86,6 +86,7 @@ $(call gb_ExternalProject_get_state_target,openssl,build): $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ && $(MAKE) build_libs \ CC="$(CC) -fPIC \ + $(if $(filter -fsanitize=undefined,$(CC)),-fno-sanitize=function) \ $(if $(filter TRUE, $(ENABLE_DBGUTIL)), -DPURIFY,) \ $(if $(filter-out WNT MACOSX,$(OS)),-fvisibility=hidden)" \ && ln -s . lib \ diff --git a/external/python3/ExternalProject_python3.mk b/external/python3/ExternalProject_python3.mk index f1c5f6d9b4a5..76cfe6675586 100644 --- a/external/python3/ExternalProject_python3.mk +++ b/external/python3/ExternalProject_python3.mk @@ -106,6 +106,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) : PKG_CONFIG_LIBDIR="$(call gb_UnpackedTarball_get_dir,libffi)/$(HOST_PLATFORM)$${PKG_CONFIG_LIBDIR:+:$$PKG_CONFIG_LIBDIR}" \ ) \ CC="$(strip $(CC) \ + $(if $(filter -fsanitize=undefined,$(CC)),-fno-sanitize=function) \ $(if $(SYSTEM_EXPAT),,-I$(call gb_UnpackedTarball_get_dir,expat)/lib) \ $(if $(SYSBASE), -I$(SYSBASE)/usr/include) \ )" \ diff --git a/external/redland/ExternalProject_raptor.mk b/external/redland/ExternalProject_raptor.mk index b3ae74c10b61..74759c65be31 100644 --- a/external/redland/ExternalProject_raptor.mk +++ b/external/redland/ExternalProject_raptor.mk @@ -19,6 +19,7 @@ $(call gb_ExternalProject_get_state_target,raptor,build): $(call gb_Trace_StartRange,raptor,EXTERNAL) $(call gb_ExternalProject_run,build,\ $(if $(filter iOS,$(OS)),LIBS="-liconv") \ + $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ CFLAGS="$(CFLAGS) \ $(call gb_ExternalProject_get_build_flags,raptor) \ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-fvisibility=hidden) \ diff --git a/external/redland/ExternalProject_rasqal.mk b/external/redland/ExternalProject_rasqal.mk index e7d1fdb1195d..de53b4e4f3d2 100644 --- a/external/redland/ExternalProject_rasqal.mk +++ b/external/redland/ExternalProject_rasqal.mk @@ -22,6 +22,7 @@ $(eval $(call gb_ExternalProject_register_targets,rasqal,\ $(call gb_ExternalProject_get_state_target,rasqal,build): $(call gb_Trace_StartRange,rasqal,EXTERNAL) $(call gb_ExternalProject_run,build,\ + $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ CFLAGS="$(CFLAGS) $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-fvisibility=hidden) $(call gb_ExternalProject_get_build_flags,rasqal) $(gb_EMSCRIPTEN_CPPFLAGS)" \ LDFLAGS=" \ $(if $(filter LINUX FREEBSD,$(OS)),-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-rpath$(COMMA)\\"\$$\$$ORIGIN") \ diff --git a/external/redland/ExternalProject_redland.mk b/external/redland/ExternalProject_redland.mk index d92c642b9cd1..0f7afa6d8182 100644 --- a/external/redland/ExternalProject_redland.mk +++ b/external/redland/ExternalProject_redland.mk @@ -23,6 +23,7 @@ $(eval $(call gb_ExternalProject_register_targets,redland,\ $(call gb_ExternalProject_get_state_target,redland,build): $(call gb_Trace_StartRange,redland,EXTERNAL) $(call gb_ExternalProject_run,build,\ + $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ CFLAGS="$(CFLAGS) $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-fvisibility=hidden) $(call gb_ExternalProject_get_build_flags,redland) $(gb_EMSCRIPTEN_CPPFLAGS)" \ LDFLAGS=" \ $(if $(filter LINUX FREEBSD,$(OS)),-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-rpath$(COMMA)\\"\$$\$$ORIGIN") \ diff --git a/external/xmlsec/ExternalProject_xmlsec.mk b/external/xmlsec/ExternalProject_xmlsec.mk index 9db86f9dae26..64b9a18626c6 100644 --- a/external/xmlsec/ExternalProject_xmlsec.mk +++ b/external/xmlsec/ExternalProject_xmlsec.mk @@ -50,6 +50,7 @@ $(call gb_ExternalProject_get_state_target,xmlsec,build) : && $(gb_RUN_CONFIGURE) ./configure \ --with-pic --disable-shared --disable-crypto-dl --without-libxslt --without-gnutls --without-gcrypt --disable-apps --disable-docs --disable-pedantic \ $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ + $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ CFLAGS="$(CFLAGS) $(call gb_ExternalProject_get_build_flags,xmlsec) $(gb_VISIBILITY_FLAGS)" \ $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ $(if $(ENABLE_NSS), \ diff --git a/solenv/sanitizers/ubsan-suppressions b/solenv/sanitizers/ubsan-suppressions index 18b4bfce831f..7adaa1e92c00 100644 --- a/solenv/sanitizers/ubsan-suppressions +++ b/solenv/sanitizers/ubsan-suppressions @@ -19,16 +19,3 @@ float-divide-by-zero:/sc/source/core/tool/interpr3.cxx$ float-divide-by-zero:/sc/source/core/tool/interpr8.cxx$ float-divide-by-zero:/scaddins/source/analysis/analysis.cxx$ float-divide-by-zero:/scaddins/source/analysis/financial.cxx$ - -# -#SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior lt-mem.c:248:4 in -#lt-mem.c:190:6: runtime error: call to function lt_string_unref through pointer to incorrect function type 'void (*)(void *)' -#workdir/UnpackedTarball/liblangtag/liblangtag/lt-string.c:127: note: lt_string_unref defined here -function:lt_mem_unref -function:lt_mem_delete_ref -function:raptor_avltree_delete_internal -function:raptor_free_sequence -function:raptor_avltree_sprout -function:raptor_avltree_search_internal -function:librdf_stream_free_stream_map -function:xmlSecPtrListEmpty