diff --git a/ports/CMakeCommon.cmake b/ports/CMakeCommon.cmake index 1e1d48b..f51b311 100644 --- a/ports/CMakeCommon.cmake +++ b/ports/CMakeCommon.cmake @@ -70,9 +70,10 @@ if(CMAKE_C_COMPILER_ID STREQUAL GNU) # -fsanitize=address # -fsanitize=undefined # -fno-sanitize=alignment - -fstack-protector - -fstack-check +# -fstack-protector +# -fstack-check ) +# set(LWIP_SANITIZER_LIBS asan ubsan) endif() set(LWIP_COMPILER_FLAGS ${LWIP_COMPILER_FLAGS_GNU_CLANG}) endif() @@ -86,6 +87,7 @@ if(CMAKE_C_COMPILER_ID STREQUAL Clang) -Wno-documentation-deprecated-sync ) set(LWIP_COMPILER_FLAGS ${LWIP_COMPILER_FLAGS_GNU_CLANG}) +# set(LWIP_SANITIZER_LIBS asan ubsan) endif() if(CMAKE_C_COMPILER_ID STREQUAL MSVC) diff --git a/ports/unix/check/CMakeLists.txt b/ports/unix/check/CMakeLists.txt index eb91543..facaf9e 100644 --- a/ports/unix/check/CMakeLists.txt +++ b/ports/unix/check/CMakeLists.txt @@ -36,7 +36,7 @@ target_compile_definitions(lwip_unittests PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBE find_library(LIBCHECK check) find_library(LIBM m) -target_link_libraries(lwip_unittests lwipallapps lwipcore ${LIBCHECK} ${LIBM}) +target_link_libraries(lwip_unittests ${LWIP_SANITIZER_LIBS} lwipallapps lwipcore ${LIBCHECK} ${LIBM}) if (NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) # check installed via brew on Darwin doesn't have a separate subunit library (must be statically linked) diff --git a/ports/unix/example_app/CMakeLists.txt b/ports/unix/example_app/CMakeLists.txt index 9323d80..902c1a6 100644 --- a/ports/unix/example_app/CMakeLists.txt +++ b/ports/unix/example_app/CMakeLists.txt @@ -25,8 +25,9 @@ add_executable(example_app ${LWIP_CONTRIB_DIR}/examples/example_app/test.c defau target_include_directories(example_app PRIVATE ${LWIP_INCLUDE_DIRS}) target_compile_options(example_app PRIVATE ${LWIP_COMPILER_FLAGS}) target_compile_definitions(example_app PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_link_libraries(example_app lwipcontribexamples lwipcontribapps lwipcontribaddons lwipallapps lwipcontribportunix lwipcore) +target_link_libraries(example_app ${LWIP_SANITIZER_LIBS} lwipcontribexamples lwipcontribapps lwipcontribaddons lwipallapps lwipcontribportunix lwipcore) add_executable(makefsdata ${lwipmakefsdata_SRCS}) target_compile_options(makefsdata PRIVATE ${LWIP_COMPILER_FLAGS}) target_include_directories(makefsdata PRIVATE ${LWIP_INCLUDE_DIRS}) +target_link_libraries(makefsdata ${LWIP_SANITIZER_LIBS}) \ No newline at end of file diff --git a/ports/unix/lib/CMakeLists.txt b/ports/unix/lib/CMakeLists.txt index bae45f6..9c80f86 100644 --- a/ports/unix/lib/CMakeLists.txt +++ b/ports/unix/lib/CMakeLists.txt @@ -28,6 +28,7 @@ add_library(lwip ${lwipnoapps_SRCS} ${lwipcontribportunix_SRCS} ${lwipcontribpor target_compile_options(lwip PRIVATE ${LWIP_COMPILER_FLAGS}) target_compile_definitions(lwip PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) target_include_directories(lwip PRIVATE ${LWIP_INCLUDE_DIRS} ${LWIP_MBEDTLS_INCLUDE_DIRS}) +target_link_libraries(lwip ${LWIP_SANITIZER_LIBS}) find_library(LIBPTHREAD pthread) target_link_libraries(lwip ${LIBPTHREAD}) diff --git a/ports/win32/example_app/CMakeLists.txt b/ports/win32/example_app/CMakeLists.txt index 1448008..4a91052 100644 --- a/ports/win32/example_app/CMakeLists.txt +++ b/ports/win32/example_app/CMakeLists.txt @@ -25,9 +25,9 @@ add_executable(example_app ${LWIP_CONTRIB_DIR}/examples/example_app/test.c defau target_include_directories(example_app PRIVATE ${LWIP_INCLUDE_DIRS}) target_compile_options(example_app PRIVATE ${LWIP_COMPILER_FLAGS}) target_compile_definitions(example_app PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_link_libraries(example_app lwipcontribexamples lwipcontribapps lwipcontribaddons lwipallapps lwipcore lwipcontribportwindows) +target_link_libraries(example_app ${LWIP_SANITIZER_LIBS} lwipcontribexamples lwipcontribapps lwipcontribaddons lwipallapps lwipcore lwipcontribportwindows) add_executable(makefsdata ${lwipmakefsdata_SRCS}) target_compile_options(makefsdata PRIVATE ${LWIP_COMPILER_FLAGS}) target_include_directories(makefsdata PRIVATE ${LWIP_INCLUDE_DIRS}) -target_link_libraries(makefsdata lwipcore lwipcontribportwindows) +target_link_libraries(makefsdata ${LWIP_SANITIZER_LIBS} lwipcore lwipcontribportwindows)