forked from OSchip/llvm-project
[libc++][NFC] Work around false positive ODR violations from ASan.
This works around a known issue in ASan. ASan doesn't instrument weak symbols. Because instrumentation increases object size, the binary can end up with two versions of the same object, one instrumented and one not instrumented, with different sizes, which ASan will report as an ODR violation. In libc++, this affects typeinfo for `std::bad_function_call` which is emitted as a weak symbol in the test executable and as a strong symbol in the shared library. The main open issue for ASan appears to be https://github.com/google/sanitizers/issues/1017. Differential Revision: https://reviews.llvm.org/D119410
This commit is contained in:
parent
b59a402237
commit
10953974ed
|
@ -1 +1,3 @@
|
|||
set(LLVM_USE_SANITIZER "Address" CACHE STRING "")
|
||||
# This is a temporary (hopefully) workaround for an ASan issue (see https://llvm.org/D119410).
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mllvm -asan-use-private-alias=1" CACHE INTERNAL "")
|
||||
|
|
Loading…
Reference in New Issue