From f680dd64a3357746d6d27fa32bcea3f0bf2f81d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mos=C3=A8=20Giordano?= Date: Tue, 28 Feb 2023 22:12:39 +0000 Subject: [PATCH 1/2] Always use `-Wl,--warn-unresolved-symbols` in MSAN builds --- Make.inc | 2 +- deps/libsuitesparse.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Make.inc b/Make.inc index 65a38fc927bc5..bf285ad211dc6 100644 --- a/Make.inc +++ b/Make.inc @@ -673,7 +673,7 @@ SANITIZE_OPTS := SANITIZE_LDFLAGS := ifeq ($(SANITIZE_MEMORY),1) SANITIZE_OPTS += -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -SANITIZE_LDFLAGS += $(SANITIZE_OPTS) +SANITIZE_LDFLAGS += $(SANITIZE_OPTS) -Wl,--warn-unresolved-symbols endif ifeq ($(SANITIZE_ADDRESS),1) SANITIZE_OPTS += -fsanitize=address diff --git a/deps/libsuitesparse.mk b/deps/libsuitesparse.mk index 8900390d24c24..7d79e03ee8d0e 100644 --- a/deps/libsuitesparse.mk +++ b/deps/libsuitesparse.mk @@ -26,7 +26,7 @@ LIBSUITESPARSE_MFLAGS := CC="$(CC) $(SANITIZE_OPTS)" CXX="$(CXX) $(SANITIZE_OPTS AR="$(AR)" RANLIB="$(RANLIB)" \ BLAS="-L$(build_shlibdir) -lblastrampoline" \ LAPACK="-L$(build_shlibdir) -lblastrampoline" \ - LDFLAGS="$(SUITESPARSE_LIB) $(SANITIZE_LDFLAGS) -Wl,--warn-unresolved-symbols" CFOPENMP="" CUDA=no CUDA_PATH="" \ + LDFLAGS="$(SUITESPARSE_LIB) $(SANITIZE_LDFLAGS)" CFOPENMP="" CUDA=no CUDA_PATH="" \ UMFPACK_CONFIG="$(UMFPACK_CONFIG)" \ CHOLMOD_CONFIG="$(CHOLMOD_CONFIG)" \ SPQR_CONFIG="$(SPQR_CONFIG)" From 8624d4bbde07b4f8a74d9fc6b400939ebdf151dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mos=C3=A8=20Giordano?= Date: Tue, 28 Feb 2023 23:21:34 +0000 Subject: [PATCH 2/2] Use `-Wl,--warn-unresolved-symbols` only on Linux and FreeBSD --- Make.inc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Make.inc b/Make.inc index bf285ad211dc6..f0034a2d3be62 100644 --- a/Make.inc +++ b/Make.inc @@ -673,8 +673,11 @@ SANITIZE_OPTS := SANITIZE_LDFLAGS := ifeq ($(SANITIZE_MEMORY),1) SANITIZE_OPTS += -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -SANITIZE_LDFLAGS += $(SANITIZE_OPTS) -Wl,--warn-unresolved-symbols -endif +SANITIZE_LDFLAGS += $(SANITIZE_OPTS) +ifneq ($(findstring $(OS),Linux FreeBSD),) +SANITIZE_LDFLAGS += -Wl,--warn-unresolved-symbols +endif # OS Linux or FreeBSD +endif # SANITIZE_MEMORY=1 ifeq ($(SANITIZE_ADDRESS),1) SANITIZE_OPTS += -fsanitize=address SANITIZE_LDFLAGS += -fsanitize=address