CMakeLists.txt: Address Sanitizer Support
1. add sanitize flag to link flags
2. use ${ADDRESS_SANITIZER} as a condition to turn on/off
instead of (DEFINED ADDRESS_SANITIZER).
The latter will always turn the feature on regardless of
the value as long as there is "-DADDRESS_SANITIZER in
cmake command line,which will be an issue when merging to
the mainline
Amended: put -fsanitize=address at the begining in link flags
Change-Id: I84df0e5b6d7fb8f02f18bf7961f25f15cac10443
Signed-off-by: Gefei Jiang <gefei.jiang@amd.com>
[ROCm/ROCR-Runtime commit: d3bc75d229]
Este commit está contenido en:
@@ -90,19 +90,21 @@ else ()
|
||||
set ( HSAKMT_C_FLAGS "${HSAKMT_C_FLAGS}" -g )
|
||||
endif ()
|
||||
|
||||
## Address Sanitize Flag
|
||||
if (DEFINED ADDRESS_SANITIZER)
|
||||
set ( HSAKMT_C_FLAGS "${HSAKMT_C_FLAGS}" -fsanitize=address )
|
||||
# for debugging
|
||||
# toDo: remove this line when merging to mainline
|
||||
message( STATUS "ADDRESS_SANITIZE: HSAKMT_C_FLAGS=: ${HSAKMT_C_FLAGS}" )
|
||||
endif ()
|
||||
|
||||
set ( HSAKMT_LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/src/libhsakmt.ver" )
|
||||
|
||||
## Address Sanitize Flag
|
||||
if ( ${ADDRESS_SANITIZER} )
|
||||
set ( HSAKMT_C_FLAGS "${HSAKMT_C_FLAGS}" -fsanitize=address )
|
||||
message( STATUS "ADDRESS_SANITIZE: HSAKMT_C_FLAGS=: ${HSAKMT_C_FLAGS}" )
|
||||
set ( HSAKMT_LINK_FLAGS "-fsanitize=address" )
|
||||
endif ()
|
||||
|
||||
## Linker Flags
|
||||
## Add --enable-new-dtags to generate DT_RUNPATH
|
||||
set (HSAKMT_LINK_FLAGS "-Wl,--enable-new-dtags -Wl,--version-script=${HSAKMT_LINKER_SCRIPT} -Wl,-soname=${HSAKMT_COMPONENT}.so.${LIB_VERSION_MAJOR} -Wl,-z,nodelete -Wl,-no-undefined" )
|
||||
set (HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS} -Wl,--enable-new-dtags -Wl,--version-script=${HSAKMT_LINKER_SCRIPT} -Wl,-soname=${HSAKMT_COMPONENT}.so.${LIB_VERSION_MAJOR} -Wl,-z,nodelete -Wl,-no-undefined" )
|
||||
|
||||
# for debug
|
||||
message( STATUS "ADDRESS_SANITIZE: HSAKMT_LINK_FLAGS=: ${HSAKMT_LINK_FLAGS}" )
|
||||
|
||||
## Source files
|
||||
set ( HSAKMT_SRC "src/debug.c"
|
||||
|
||||
Referencia en una nueva incidencia
Block a user