Compare commits
3 Commits
0.5.3
...
add-addres
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b10885155 | ||
|
|
c0f5d5f64a | ||
|
|
2c23627154 |
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")
|
||||
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
|
||||
#
|
||||
@@ -133,14 +150,25 @@ endif()
|
||||
link_directories(${LLVM_LIBRARY_DIR} ${YAML_CPP_LIBRARY_DIR})
|
||||
|
||||
#
|
||||
# Setup libdw and libunwind
|
||||
# Setup backward-cpp, libdw and libunwind
|
||||
#
|
||||
if(LINUX AND (CMAKE_BUILD_TYPE MATCHES Debug))
|
||||
if(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
set(CLANG_UML_ENABLE_BACKTRACE_DEFAULT ON)
|
||||
else()
|
||||
set(CLANG_UML_ENABLE_BACKTRACE_DEFAULT OFF)
|
||||
endif()
|
||||
option(CLANG_UML_ENABLE_BACKTRACE "Enable backtrace on segfault"
|
||||
${CLANG_UML_ENABLE_BACKTRACE_DEFAULT})
|
||||
|
||||
if(LINUX AND CLANG_UML_ENABLE_BACKTRACE)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(DW REQUIRED IMPORTED_TARGET libdw)
|
||||
pkg_check_modules(UNWIND REQUIRED IMPORTED_TARGET libunwind)
|
||||
set(BACKWARD_CPP_LIBRARIES PkgConfig::DW PkgConfig::UNWIND)
|
||||
set(ENABLE_BACKWARD_CPP -DENABLE_BACKWARD_CPP)
|
||||
message(STATUS "Enabling backward-cpp")
|
||||
else()
|
||||
message(STATUS "Disabling backward-cpp")
|
||||
endif()
|
||||
|
||||
#
|
||||
|
||||
11
Makefile
11
Makefile
@@ -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
|
||||
@@ -54,6 +55,7 @@ clean:
|
||||
rm -rf debug release debug_tidy coverage.info coverage-src.info
|
||||
|
||||
debug/CMakeLists.txt:
|
||||
$(eval CLANG_UML_ENABLE_BACKTRACE ?= ON)
|
||||
cmake -S . -B debug \
|
||||
-G"$(CMAKE_GENERATOR)" \
|
||||
-DGIT_VERSION=$(GIT_VERSION) \
|
||||
@@ -67,9 +69,12 @@ debug/CMakeLists.txt:
|
||||
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
|
||||
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_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)
|
||||
|
||||
release/CMakeLists.txt:
|
||||
$(eval CLANG_UML_ENABLE_BACKTRACE ?= OFF)
|
||||
cmake -S . -B release \
|
||||
-G"$(CMAKE_GENERATOR)" \
|
||||
-DGIT_VERSION=$(GIT_VERSION) \
|
||||
@@ -81,8 +86,10 @@ 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)
|
||||
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES) \
|
||||
-DCLANG_UML_ENABLE_BACKTRACE=$(CLANG_UML_ENABLE_BACKTRACE)
|
||||
|
||||
debug_tidy/CMakeLists.txt:
|
||||
cmake -S . -B debug_tidy \
|
||||
|
||||
Reference in New Issue
Block a user