forked from OSchip/llvm-project
[compiler-rt][test] Ensure CMAKE_SYSROOT is added as a test cflag if provided
When running tests like SanitizerCommon-asan-x86_64-Linux :: Linux/crypt_r.cpp, it may attempt to use the host header crypt.h rather than a sysroot header. This is significant in the event where struct crypt_data defined on host is different from the sysroot used to make the sanitizer runtime libraries. This can result in logical differences between the expected size/layout of struct crypt_data known by sanitizers and the strict crypt_data provided by the host crypt.h. Since tests should still use the CMAKE_SYSROOT, this ensures that CMAKE_SYSROOT is propagated to compiler-rt tests. Differential Revision: https://reviews.llvm.org/D109796
This commit is contained in:
parent
1d08a19a38
commit
f4092c7690
|
@ -77,6 +77,9 @@ foreach(tool ${SUPPORTED_TOOLS})
|
|||
# required to get a complete stacktrace.
|
||||
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND NOT ANDROID)
|
||||
list(APPEND SANITIZER_COMMON_TEST_TARGET_CFLAGS -funwind-tables)
|
||||
if(CMAKE_SYSROOT)
|
||||
list(APPEND SANITIZER_COMMON_TEST_TARGET_CFLAGS "--sysroot=${CMAKE_SYSROOT}")
|
||||
endif()
|
||||
string(REPLACE ";" " " SANITIZER_COMMON_TEST_TARGET_CFLAGS
|
||||
"${SANITIZER_COMMON_TEST_TARGET_CFLAGS}")
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue