summaryrefslogtreecommitdiffstats
path: root/llvm/cmake/modules
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2015-08-25 16:06:40 +0000
committerReid Kleckner <rnk@google.com>2015-08-25 16:06:40 +0000
commit38b8938f40d2068e85cfbb08395622cfa1b0db01 (patch)
treece10d96faca90f4ba57604e306ce59a71f4b049f /llvm/cmake/modules
parentf3837074cc7483b4b917e212ced06d392ad7f9b4 (diff)
downloadbcm5719-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.cmake6
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)
OpenPOWER on IntegriCloud