diff options
author | Reid Kleckner <rnk@google.com> | 2015-08-25 16:06:40 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2015-08-25 16:06:40 +0000 |
commit | 38b8938f40d2068e85cfbb08395622cfa1b0db01 (patch) | |
tree | ce10d96faca90f4ba57604e306ce59a71f4b049f /llvm/cmake/modules | |
parent | f3837074cc7483b4b917e212ced06d392ad7f9b4 (diff) | |
download | bcm5719-llvm-38b8938f40d2068e85cfbb08395622cfa1b0db01.tar.gz bcm5719-llvm-38b8938f40d2068e85cfbb08395622cfa1b0db01.zip |
[cmake] Pass /manifest:no to the linker when asan is enabled
This is a workaround for PR24476.
llvm-svn: 245945
Diffstat (limited to 'llvm/cmake/modules')
-rw-r--r-- | llvm/cmake/modules/HandleLLVMOptions.cmake | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake index 7a6f63319fb..76b9c3fb7ed 100644 --- a/llvm/cmake/modules/HandleLLVMOptions.cmake +++ b/llvm/cmake/modules/HandleLLVMOptions.cmake @@ -456,7 +456,7 @@ macro(append_common_sanitizer_flags) # stack traces. add_flag_if_supported("-fno-omit-frame-pointer" FNO_OMIT_FRAME_POINTER) if (NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" AND - NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO") + NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO") add_flag_if_supported("-gline-tables-only" GLINE_TABLES_ONLY) endif() # Use -O1 even in debug mode, otherwise sanitizers slowdown is too large. @@ -469,6 +469,10 @@ macro(append_common_sanitizer_flags) if (CMAKE_LINKER MATCHES "lld-link.exe") # Use DWARF debug info with LLD. append("-gdwarf" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + # Pass /MANIFEST:NO so that CMake doesn't run mt.exe on our binaries. + # Adding manifests with mt.exe breaks LLD's symbol tables. See PR24476. + append("/MANIFEST:NO" + CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS) else() # Enable codeview otherwise. append("/Z7" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) |