From: Nathan Moinvaziri Date: Wed, 12 Feb 2020 21:39:13 +0000 (-0800) Subject: Disable alignment sanitizer with -fno-sanitize when unaligned reads supported. #496 X-Git-Tag: 1.9.9-b1~344 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03b5c2d8e649e8259d0c91d8a0bb5eeca45b4a5f;p=thirdparty%2Fzlib-ng.git Disable alignment sanitizer with -fno-sanitize when unaligned reads supported. #496 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 0fa88544b..ab5a77006 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -320,6 +320,7 @@ endif() if(WITH_SANITIZERS) set(_sanitize_flags address + alignment array-bounds bool bounds @@ -365,8 +366,14 @@ if(WITH_SANITIZERS) set(CMAKE_REQUIRED_FLAGS) endif() endforeach() - if(NOT "${SANITIZERS_FLAGS}" STREQUAL "") + + if(NOT ${SANITIZERS_FLAGS} STREQUAL "") set(SANITIZERS_FLAGS "-fsanitize=${SANITIZERS_FLAGS}") + # Group flag -fsanitize=undefined will automatically add alignment, even if it is not in our + # sanitize flag list, so we need to explicitly disable alignment sanitizing. + if(UNALIGNED_OK AND ${SANITIZERS_FLAGS} MATCHES "alignment") + set(SANITIZERS_FLAGS "${SANITIZERS_FLAGS} -fno-sanitize=alignment") + endif() endif() message(STATUS "Adding sanitizers flags: ${SANITIZERS_FLAGS}")