From 1aa35089d64f32b43901e850e34bc18b96c02899 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 4 Aug 2024 21:25:00 -0700 Subject: [PATCH] Enable more sanitizers and fix mimalloc debug configuration (#13086) --- CMakeLists.txt | 9 +++++++++ scripts/build-mimalloc-debug.sh | 15 +++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3bddccd2b1..cfc84d8f90 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1109,6 +1109,14 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug") -Wno-nullability-completeness -Werror -fsanitize=null + -fsanitize-recover=all + -fsanitize=bounds + -fsanitize=return + -fsanitize=nullability-arg + -fsanitize=nullability-assign + -fsanitize=nullability-return + -fsanitize=returns-nonnull-attribute + -fsanitize=unreachable ) target_link_libraries(${bun} PRIVATE -fsanitize=null) else() @@ -1555,6 +1563,7 @@ endif() if(NOT WIN32) target_link_libraries(${bun} PRIVATE "${WEBKIT_LIB_DIR}/libWTF.a") target_link_libraries(${bun} PRIVATE "${WEBKIT_LIB_DIR}/libJavaScriptCore.a") + if(NOT APPLE OR EXISTS "${WEBKIT_LIB_DIR}/libbmalloc.a") target_link_libraries(${bun} PRIVATE "${WEBKIT_LIB_DIR}/libbmalloc.a") endif() diff --git a/scripts/build-mimalloc-debug.sh b/scripts/build-mimalloc-debug.sh index 3e54f22797..d0640c7b1f 100755 --- a/scripts/build-mimalloc-debug.sh +++ b/scripts/build-mimalloc-debug.sh @@ -7,22 +7,25 @@ MIMALLOC_VALGRIND_ENABLED_FLAG=${MIMALLOC_VALGRIND_ENABLED_FLAG:-} cd $BUN_DEPS_DIR/mimalloc -rm -rf CMakeCache* CMakeFiles +rm -rf CMakeCache* CMakeFiles build -cmake "${CMAKE_FLAGS[@]}" . \ +mkdir build + +cd build + +cmake "${CMAKE_FLAGS[@]}" .. \ -DCMAKE_BUILD_TYPE=Debug \ - -DMI_DEBUG=1 \ + -DMI_DEBUG_FULL=1 \ -DMI_SKIP_COLLECT_ON_EXIT=1 \ -DMI_BUILD_SHARED=OFF \ -DMI_BUILD_STATIC=ON \ -DMI_BUILD_TESTS=OFF \ -DMI_OSX_ZONE=OFF \ -DMI_OSX_INTERPOSE=OFF \ - -DMI_TRACK_VALGRIND=ON \ -DMI_BUILD_OBJECT=ON \ - -DMI_USE_CXX=ON \ -DMI_OVERRIDE=OFF \ - -DMI_OSX_ZONE=OFF \ + -DMI_TRACK_VALGRIND=ON \ + -DMI_USE_CXX=ON \ -GNinja ninja