Skip to content

Commit

Permalink
Merge pull request #294 from bkryza/add-address-sanitizer
Browse files Browse the repository at this point in the history
Added Makefile option to build with address sanitizer
  • Loading branch information
bkryza authored Jul 12, 2024
2 parents c0f5d5f + 3b10885 commit 8be3a22
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
1 change: 1 addition & 0 deletions .sanitize-blacklist
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fun:*SmallVector*
17 changes: 17 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,23 @@ if(CODE_COVERAGE)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov --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
#
Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ CMAKE_CXX_FLAGS ?=
CMAKE_EXE_LINKER_FLAGS ?=
CMAKE_GENERATOR ?= Unix Makefiles
CODE_COVERAGE ?= OFF
ADDRESS_SANITIZER ?= OFF

ENABLE_CXX_MODULES_TEST_CASES ?= OFF
ENABLE_CUDA_TEST_CASES ?= OFF
Expand Down Expand Up @@ -69,6 +70,7 @@ debug/CMakeLists.txt:
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES) \
-DCODE_COVERAGE=$(CODE_COVERAGE) \
-DADDRESS_SANITIZER=$(ADDRESS_SANITIZER) \
-DCLANG_UML_ENABLE_BACKTRACE=$(CLANG_UML_ENABLE_BACKTRACE)

release/CMakeLists.txt:
Expand All @@ -84,6 +86,7 @@ release/CMakeLists.txt:
-DLLVM_CONFIG_PATH=${LLVM_CONFIG_PATH} \
-DLINK_LLVM_SHARED=${LLVM_SHARED} \
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
-DADDRESS_SANITIZER=$(ADDRESS_SANITIZER) \
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES) \
-DCLANG_UML_ENABLE_BACKTRACE=$(CLANG_UML_ENABLE_BACKTRACE)
Expand Down

0 comments on commit 8be3a22

Please sign in to comment.