mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-29 22:30:33 +00:00
Introduce -DLLVM_USE_SANITIZER=Undefined CMake option to build UBSan-ified version of LLVM/Clang.
I've fixed most of the simple bugs and currently "check-llvm" test suite has 26 failures, and "check-clang" suite has 5 failures. llvm-svn: 216701
This commit is contained in:
parent
629f4d87cb
commit
e3176abfc7
@ -363,6 +363,10 @@ if(LLVM_USE_SANITIZER)
|
||||
if(LLVM_USE_SANITIZER STREQUAL "MemoryWithOrigins")
|
||||
append("-fsanitize-memory-track-origins" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
|
||||
endif()
|
||||
elseif (LLVM_USE_SANITIZER STREQUAL "Undefined")
|
||||
append_common_sanitizer_flags()
|
||||
append("-fsanitize=undefined -fno-sanitize=vptr -fno-sanitize-recover"
|
||||
CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
|
||||
else()
|
||||
message(WARNING "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}")
|
||||
endif()
|
||||
|
@ -288,8 +288,8 @@ LLVM-specific variables
|
||||
|
||||
**LLVM_USE_SANITIZER**:STRING
|
||||
Define the sanitizer used to build LLVM binaries and tests. Possible values
|
||||
are ``Address``, ``Memory`` and ``MemoryWithOrigins``. Defaults to empty
|
||||
string.
|
||||
are ``Address``, ``Memory``, ``MemoryWithOrigins`` and ``Undefined``.
|
||||
Defaults to empty string.
|
||||
|
||||
**LLVM_BUILD_DOCS**:BOOL
|
||||
Enables all enabled documentation targets (i.e. Doxgyen and Sphinx targets) to
|
||||
|
@ -96,7 +96,7 @@ for symbolizer in ['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH']:
|
||||
config.environment[symbolizer] = os.environ[symbolizer]
|
||||
|
||||
# Propagate options for sanitizers.
|
||||
for options in ['ASAN_OPTIONS']:
|
||||
for options in ['ASAN_OPTIONS', 'UBSAN_OPTIONS']:
|
||||
if options in os.environ:
|
||||
config.environment[options] = os.environ[options]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user