gbuild: -fsanitize=address MSVC build

setup_native assorted DLLs must have ASAN disabled.

ICU build doesn't work, so disable ASAN for that.

This built with MSVC 2022 and:

CC=...cl.exe -fsanitize=address
CXX=...cl.exe -fsanitize=address
--disable-firebird-sdbc
--disable-skia
--disable-pdfium

Change-Id: I296241e43b68579fdd9b6af9c98a5b541c8ae89a
(cherry picked from commit 98b92b339fa3c28319f3f6cec94abb04229f487a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194728
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 579956c4c54f498a22b8e5ed20468ceb9a6e0e30)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194866
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins
This commit is contained in:
Michael Stahl
2025-12-01 12:01:23 +01:00
parent 2a141122ea
commit 3ff253e277
13 changed files with 37 additions and 13 deletions
+2 -1
View File
@@ -23,7 +23,8 @@ $(call gb_ExternalProject_get_state_target,icu,build) :
$(call gb_Trace_StartRange,icu,EXTERNAL)
$(call gb_ExternalProject_run,build,\
$(WSL) autoconf -f \
&& export LIB="$(ILIB)" PYTHONWARNINGS="default" \
&& export CC="$(filter-out -fsanitize%,$(CC))" CXX="$(filter-out -fsanitize%,$(CXX))" \
LIB="$(ILIB)" PYTHONWARNINGS="default" \
gb_ICU_XFLAGS="-FS $(SOLARINC) $(gb_DEBUGINFO_FLAGS) $(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD -Gy)" \
&& CFLAGS="$${gb_ICU_XFLAGS}" CPPFLAGS="$(SOLARINC)" CXXFLAGS="$${gb_ICU_XFLAGS} $(CXXFLAGS_CXX11)" \
INSTALL=`cygpath -m /usr/bin/install` $(if $(MSVC_USE_DEBUG_RUNTIME),LDFLAGS="-DEBUG") \
+2 -1
View File
@@ -43,7 +43,8 @@ $(call gb_ExternalProject_get_state_target,nss,build): \
$(MAKE) nss_build_all RC="rc.exe $(SOLARINC)" \
NSINSTALL='$(call gb_ExternalExecutable_get_command,python) $(SRCDIR)/external/nss/nsinstall.py' \
NSS_DISABLE_GTESTS=1 \
CCC="$(CXX)" \
CC="$(patsubst %,\"%\",$(CC))" \
CCC="$(patsubst %,\"%\",$(CXX))" \
,nss)
$(call gb_Trace_EndRange,nss,EXTERNAL)
+3 -1
View File
@@ -15,7 +15,6 @@ $(eval $(call gb_Library_add_defs,instooofiltmsi,\
$(eval $(call gb_Library_add_cxxflags,instooofiltmsi,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_Library_add_ldflags,instooofiltmsi,\
@@ -36,4 +35,7 @@ $(eval $(call gb_Library_use_system_win32_libs,instooofiltmsi,\
advapi32 \
))
$(call gb_Library_get_linktarget_target,instooofiltmsi): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_Library_get_linktarget_target,instooofiltmsi): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4:
+3 -1
View File
@@ -15,7 +15,6 @@ $(eval $(call gb_Library_add_defs,qslnkmsi,\
$(eval $(call gb_Library_add_cxxflags,qslnkmsi,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_Library_add_ldflags,qslnkmsi,\
@@ -43,4 +42,7 @@ $(eval $(call gb_Library_use_system_win32_libs,qslnkmsi,\
shell32 \
))
$(call gb_Library_get_linktarget_target,qslnkmsi): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_Library_get_linktarget_target,qslnkmsi): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4:
+3 -1
View File
@@ -15,7 +15,6 @@ $(eval $(call gb_Library_add_defs,reg4allmsdoc,\
$(eval $(call gb_Library_add_cxxflags,reg4allmsdoc,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_Library_add_ldflags,reg4allmsdoc,\
@@ -40,4 +39,7 @@ $(eval $(call gb_Library_use_system_win32_libs,reg4allmsdoc,\
shlwapi \
))
$(call gb_Library_get_linktarget_target,reg4allmsdoc): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_Library_get_linktarget_target,reg4allmsdoc): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4:
+3 -1
View File
@@ -15,7 +15,6 @@ $(eval $(call gb_Library_add_defs,reg_dlls,\
$(eval $(call gb_Library_add_cxxflags,reg_dlls,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_Library_add_ldflags,reg_dlls,\
@@ -38,4 +37,7 @@ $(eval $(call gb_Library_use_system_win32_libs,reg_dlls,\
Msi \
))
$(call gb_Library_get_linktarget_target,reg_dlls): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_Library_get_linktarget_target,reg_dlls): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4:
+3 -1
View File
@@ -15,7 +15,6 @@ $(eval $(call gb_Library_add_defs,regactivex,\
$(eval $(call gb_Library_add_cxxflags,regactivex,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_Library_add_ldflags,regactivex,\
@@ -36,4 +35,7 @@ $(eval $(call gb_Library_use_system_win32_libs,regactivex,\
msi \
))
$(call gb_Library_get_linktarget_target,regactivex): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_Library_get_linktarget_target,regactivex): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4:
+3 -1
View File
@@ -15,7 +15,6 @@ $(eval $(call gb_Library_add_defs,sdqsmsi,\
$(eval $(call gb_Library_add_cxxflags,sdqsmsi,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_Library_add_ldflags,sdqsmsi,\
@@ -43,4 +42,7 @@ $(eval $(call gb_Library_use_system_win32_libs,sdqsmsi,\
shell32 \
))
$(call gb_Library_get_linktarget_target,sdqsmsi): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_Library_get_linktarget_target,sdqsmsi): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4:
+3 -1
View File
@@ -19,7 +19,6 @@ $(eval $(call gb_Library_add_defs,sellangmsi,\
$(eval $(call gb_Library_add_cxxflags,sellangmsi,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_Library_add_ldflags,sellangmsi,\
@@ -44,4 +43,7 @@ $(eval $(call gb_Library_use_system_win32_libs,sellangmsi,\
shell32 \
))
$(call gb_Library_get_linktarget_target,sellangmsi): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_Library_get_linktarget_target,sellangmsi): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4:
+3 -1
View File
@@ -17,7 +17,6 @@ $(eval $(call gb_Library_add_defs,shlxtmsi,\
$(eval $(call gb_Library_add_cxxflags,shlxtmsi,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_Library_add_ldflags,shlxtmsi,\
@@ -50,4 +49,7 @@ $(eval $(call gb_Library_use_system_win32_libs,shlxtmsi,\
psapi \
))
$(call gb_Library_get_linktarget_target,shlxtmsi): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_Library_get_linktarget_target,shlxtmsi): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4:
+3 -1
View File
@@ -15,7 +15,6 @@ $(eval $(call gb_Library_add_defs,sn_tools,\
$(eval $(call gb_Library_add_cxxflags,sn_tools,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_Library_add_ldflags,sn_tools,\
@@ -41,4 +40,7 @@ $(eval $(call gb_Library_use_system_win32_libs,sn_tools,\
advapi32 \
))
$(call gb_Library_get_linktarget_target,sn_tools): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_Library_get_linktarget_target,sn_tools): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4:
+3 -1
View File
@@ -15,11 +15,13 @@ $(eval $(call gb_StaticLibrary_add_defs,quickstarter,\
$(eval $(call gb_StaticLibrary_add_cxxflags,quickstarter,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_StaticLibrary_add_exception_objects,quickstarter,\
setup_native/source/win32/customactions/quickstarter/quickstarter \
))
$(call gb_StaticLibrary_get_linktarget_target,quickstarter): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_StaticLibrary_get_linktarget_target,quickstarter): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4:
+3 -1
View File
@@ -15,11 +15,13 @@ $(eval $(call gb_StaticLibrary_add_defs,seterror,\
$(eval $(call gb_StaticLibrary_add_cxxflags,seterror,\
$(if $(MSVC_USE_DEBUG_RUNTIME),/MTd,/MT) \
$(if $(filter -fsanitize=%,$(CC)),,/fno-sanitize-address-vcasan-lib) \
))
$(eval $(call gb_StaticLibrary_add_exception_objects,seterror,\
setup_native/source/win32/customactions/tools/seterror \
))
$(call gb_StaticLibrary_get_linktarget_target,seterror): gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_StaticLibrary_get_linktarget_target,seterror): gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
# vim: set noet sw=4 ts=4: