mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216701 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cf45151b2c
commit
79e9b30b11
@ -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…
x
Reference in New Issue
Block a user