Add AddressSanitizer (ASAN) build option
--enable-asan for autotools -D ENABLE_ASAN:BOOL=TRUE for CMake Need Clang/LLVM >= 3.1 or GCC >= 4.9 More information about ASAN https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer Change-Id: I833d4216d9508b8f7550ebc1dff6326734bdb53a Reviewed-on: https://code.wireshark.org/review/1727 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
This commit is contained in:
parent
b35688760a
commit
0dd7714d4d
|
@ -354,6 +354,17 @@ else()
|
|||
)
|
||||
endif()
|
||||
|
||||
set(WIRESHARK_ASAN_FLAGS
|
||||
# With Clang >= 3.5 Leak detection is enable by default
|
||||
# and no yet all leak is fixed...
|
||||
# use ASAN_OPTIONS=detect_leaks=0 to disable detect_leaks
|
||||
-fsanitize=address
|
||||
)
|
||||
|
||||
if(ENABLE_ASAN)
|
||||
set(WIRESHARK_COMMON_FLAGS ${WIRESHARK_COMMON_FLAGS} ${WIRESHARK_ASAN_FLAGS})
|
||||
endif()
|
||||
|
||||
if(ENABLE_EXTRA_COMPILER_WARNINGS) # This overrides -Werror
|
||||
set(WIRESHARK_COMMON_FLAGS ${WIRESHARK_COMMON_FLAGS} ${WIRESHARK_EXTRA_COMPILER_COMMON_FLAGS})
|
||||
set(WIRESHARK_C_ONLY_FLAGS ${WIRESHARK_C_ONLY_FLAGS} ${WIRESHARK_EXTRA_COMPILER_C_ONLY_FLAGS})
|
||||
|
|
|
@ -20,6 +20,7 @@ option(AUTOGEN_pidl "Autogenerate pidl dissectors" OFF)
|
|||
option(DISABLE_WERROR "Do not treat warnings as errors" OFF)
|
||||
option(ENABLE_EXTRA_COMPILER_WARNINGS "Do additional compiler warnings (disables -Werror)" OFF)
|
||||
option(ENABLE_CODE_ANALYSIS "Enable the compiler's static analyzer if possible" OFF)
|
||||
option(ENABLE_ASAN "Enable AddressSanitizer (ASAN) for debugging (May be slow down)" OFF)
|
||||
|
||||
#
|
||||
# Leave GTK2 the default on Windows, looks better than GTK3
|
||||
|
|
18
configure.ac
18
configure.ac
|
@ -922,6 +922,24 @@ AC_ARG_ENABLE(extra-compiler-warnings,
|
|||
fi
|
||||
],)
|
||||
|
||||
# Try to add ASAN address analyze.
|
||||
# Only needed for analyse
|
||||
#
|
||||
AC_ARG_ENABLE(asan,
|
||||
AC_HELP_STRING( [--enable-asan],
|
||||
[Enable AddressSanitizer (ASAN) for debugging (May be slow down)@<:@default=no@:>@]),
|
||||
[
|
||||
#
|
||||
# With Clang >= 3.5 Leak detection is enable by default
|
||||
# and no yet all leak is fixed...
|
||||
# use ASAN_OPTIONS=detect_leaks=0 to disable detect_leaks
|
||||
#
|
||||
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fsanitize=address)
|
||||
|
||||
],)
|
||||
|
||||
|
||||
|
||||
#
|
||||
# The following are for C and C++
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue