Index: llvm-toolchain-snapshot_10~svn370025/compiler-rt/lib/hwasan/CMakeLists.txt =================================================================== --- llvm-toolchain-snapshot_10~svn370025.orig/compiler-rt/lib/hwasan/CMakeLists.txt +++ llvm-toolchain-snapshot_10~svn370025/compiler-rt/lib/hwasan/CMakeLists.txt @@ -41,9 +41,9 @@ append_list_if(COMPILER_RT_HWASAN_WITH_I set(HWASAN_RTL_CFLAGS ${SANITIZER_COMMON_CFLAGS}) append_rtti_flag(OFF HWASAN_RTL_CFLAGS) -append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC HWASAN_RTL_CFLAGS) +append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC -fuse-ld=gold HWASAN_RTL_CFLAGS) # Prevent clang from generating libc calls. -append_list_if(COMPILER_RT_HAS_FFREESTANDING_FLAG -ffreestanding HWASAN_RTL_CFLAGS) +append_list_if(COMPILER_RT_HAS_FFREESTANDING_FLAG -ffreestanding -fuse-ld=gold HWASAN_RTL_CFLAGS) set(HWASAN_DYNAMIC_LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS}) @@ -55,7 +55,7 @@ if(ANDROID) endif() endif() -set(HWASAN_DYNAMIC_CFLAGS ${HWASAN_RTL_CFLAGS}) +set(HWASAN_DYNAMIC_CFLAGS ${HWASAN_RTL_CFLAGS} -fuse-ld=gold) append_list_if(COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC -ftls-model=initial-exec HWASAN_DYNAMIC_CFLAGS) append_list_if(MSVC /DEBUG HWASAN_DYNAMIC_LINK_FLAGS) @@ -130,7 +130,7 @@ foreach(arch ${HWASAN_SUPPORTED_ARCH}) LIBS clang_rt.hwasan-${arch} clang_rt.hwasan_cxx-${arch} EXTRA hwasan.syms.extra) set(VERSION_SCRIPT_FLAG - -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/clang_rt.hwasan-dynamic-${arch}.vers) + -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/clang_rt.hwasan-dynamic-${arch}.vers -fuse-ld=gold) set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp APPEND PROPERTY