From 0e802e3d892bd0a82417b544fbf19a71a3347333 Mon Sep 17 00:00:00 2001 From: Marco Magdy Date: Sun, 16 Oct 2022 14:23:10 -0700 Subject: [PATCH] Build with ASan and UBSan --- CMakeLists.txt | 6 ++++++ ci/codebuild/arch-linux.yml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 76702cb..14ee99f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,7 @@ project(aws-lambda-runtime option(ENABLE_LTO "Enables link-time optimization, requires compiler support." OFF) option(ENABLE_TESTS "Enables building the test project, requires AWS C++ SDK." OFF) +option(ENABLE_SANITIZERS "Enables ASan and UBSan." OFF) add_library(${PROJECT_NAME} "src/logging.cpp" @@ -22,6 +23,11 @@ target_include_directories(${PROJECT_NAME} PUBLIC $ $) +if (ENABLE_SANITIZERS) + target_compile_options(${PROJECT_NAME} PUBLIC "-fsanitize=address,undefined") + target_link_libraries(${PROJECT_NAME} PUBLIC "-fsanitize=address,undefined") +endif() + if (ENABLE_LTO) include(CheckIPOSupported) check_ipo_supported(RESULT has_lto OUTPUT lto_check_output) diff --git a/ci/codebuild/arch-linux.yml b/ci/codebuild/arch-linux.yml index 4262f50..0a12a5d 100644 --- a/ci/codebuild/arch-linux.yml +++ b/ci/codebuild/arch-linux.yml @@ -4,6 +4,6 @@ phases: build: commands: - echo Build started on `date` - - ./ci/codebuild/build.sh -DTEST_RESOURCE_PREFIX=lambda-cpp-archbtw + - ./ci/codebuild/build.sh -DTEST_RESOURCE_PREFIX=lambda-cpp-archbtw -DENABLE_SANITIZERS=ON - ./ci/codebuild/run-tests.sh aws-lambda-package-lambda-test-fun - echo Build completed on `date`