Added Makefile option to build with address sanitizer
This commit is contained in:
1
.sanitize-blacklist
Normal file
1
.sanitize-blacklist
Normal file
@@ -0,0 +1 @@
|
|||||||
|
fun:*SmallVector*
|
||||||
@@ -70,6 +70,23 @@ if(CODE_COVERAGE)
|
|||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov --coverage")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov --coverage")
|
||||||
endif(CODE_COVERAGE)
|
endif(CODE_COVERAGE)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Setup Address Sanitizer
|
||||||
|
#
|
||||||
|
option(ADDRESS_SANITIZER "" OFF)
|
||||||
|
if(ADDRESS_SANITIZER)
|
||||||
|
set(CMAKE_CXX_FLAGS
|
||||||
|
"${CMAKE_CXX_FLAGS} \
|
||||||
|
-fno-omit-frame-pointer \
|
||||||
|
-fsanitize=address \
|
||||||
|
-fsanitize-blacklist=${CMAKE_CURRENT_SOURCE_DIR}/.sanitize-blacklist")
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS
|
||||||
|
"${CMAKE_EXE_LINKER_FLAGS} \
|
||||||
|
-fno-omit-frame-pointer \
|
||||||
|
-fsanitize=address \
|
||||||
|
-fsanitize-blacklist=${CMAKE_CURRENT_SOURCE_DIR}/.sanitize-blacklist")
|
||||||
|
endif(ADDRESS_SANITIZER)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Setup LLVM
|
# Setup LLVM
|
||||||
#
|
#
|
||||||
|
|||||||
3
Makefile
3
Makefile
@@ -38,6 +38,7 @@ CMAKE_CXX_FLAGS ?=
|
|||||||
CMAKE_EXE_LINKER_FLAGS ?=
|
CMAKE_EXE_LINKER_FLAGS ?=
|
||||||
CMAKE_GENERATOR ?= Unix Makefiles
|
CMAKE_GENERATOR ?= Unix Makefiles
|
||||||
CODE_COVERAGE ?= OFF
|
CODE_COVERAGE ?= OFF
|
||||||
|
ADDRESS_SANITIZER ?= OFF
|
||||||
|
|
||||||
ENABLE_CXX_MODULES_TEST_CASES ?= OFF
|
ENABLE_CXX_MODULES_TEST_CASES ?= OFF
|
||||||
ENABLE_CUDA_TEST_CASES ?= OFF
|
ENABLE_CUDA_TEST_CASES ?= OFF
|
||||||
@@ -69,6 +70,7 @@ debug/CMakeLists.txt:
|
|||||||
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
|
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
|
||||||
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES) \
|
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES) \
|
||||||
-DCODE_COVERAGE=$(CODE_COVERAGE) \
|
-DCODE_COVERAGE=$(CODE_COVERAGE) \
|
||||||
|
-DADDRESS_SANITIZER=$(ADDRESS_SANITIZER) \
|
||||||
-DCLANG_UML_ENABLE_BACKTRACE=$(CLANG_UML_ENABLE_BACKTRACE)
|
-DCLANG_UML_ENABLE_BACKTRACE=$(CLANG_UML_ENABLE_BACKTRACE)
|
||||||
|
|
||||||
release/CMakeLists.txt:
|
release/CMakeLists.txt:
|
||||||
@@ -84,6 +86,7 @@ release/CMakeLists.txt:
|
|||||||
-DLLVM_CONFIG_PATH=${LLVM_CONFIG_PATH} \
|
-DLLVM_CONFIG_PATH=${LLVM_CONFIG_PATH} \
|
||||||
-DLINK_LLVM_SHARED=${LLVM_SHARED} \
|
-DLINK_LLVM_SHARED=${LLVM_SHARED} \
|
||||||
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
|
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
|
||||||
|
-DADDRESS_SANITIZER=$(ADDRESS_SANITIZER) \
|
||||||
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
|
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
|
||||||
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES) \
|
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES) \
|
||||||
-DCLANG_UML_ENABLE_BACKTRACE=$(CLANG_UML_ENABLE_BACKTRACE)
|
-DCLANG_UML_ENABLE_BACKTRACE=$(CLANG_UML_ENABLE_BACKTRACE)
|
||||||
|
|||||||
Reference in New Issue
Block a user