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

Reply via email to