Update clang to r339409.

Change-Id: I800772d2d838223be1f6b40d490c4591b937fca2
diff --git a/linux-x64/clang/lib64/cmake/llvm/LLVMExternalProjectUtils.cmake b/linux-x64/clang/lib64/cmake/llvm/LLVMExternalProjectUtils.cmake
index 619550b..f736c39 100644
--- a/linux-x64/clang/lib64/cmake/llvm/LLVMExternalProjectUtils.cmake
+++ b/linux-x64/clang/lib64/cmake/llvm/LLVMExternalProjectUtils.cmake
@@ -46,7 +46,7 @@
   if(NOT ARG_TOOLCHAIN_TOOLS)
     set(ARG_TOOLCHAIN_TOOLS clang lld)
     if(NOT APPLE AND NOT WIN32)
-      list(APPEND ARG_TOOLCHAIN_TOOLS llvm-ar llvm-ranlib)
+      list(APPEND ARG_TOOLCHAIN_TOOLS llvm-ar llvm-ranlib llvm-nm llvm-objcopy llvm-objdump llvm-strip)
     endif()
   endif()
   foreach(tool ${ARG_TOOLCHAIN_TOOLS})
@@ -107,12 +107,27 @@
       set(compiler_args -DCMAKE_C_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang
                         -DCMAKE_CXX_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++)
     endif()
+    if(lld IN_LIST TOOLCHAIN_TOOLS)
+      list(APPEND compiler_args -DCMAKE_LINKER=${LLVM_RUNTIME_OUTPUT_INTDIR}/ld.lld)
+    endif()
     if(llvm-ar IN_LIST TOOLCHAIN_TOOLS)
       list(APPEND compiler_args -DCMAKE_AR=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ar)
     endif()
     if(llvm-ranlib IN_LIST TOOLCHAIN_TOOLS)
       list(APPEND compiler_args -DCMAKE_RANLIB=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ranlib)
     endif()
+    if(llvm-nm IN_LIST TOOLCHAIN_TOOLS)
+      list(APPEND compiler_args -DCMAKE_NM=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-nm)
+    endif()
+    if(llvm-objdump IN_LIST TOOLCHAIN_TOOLS)
+      list(APPEND compiler_args -DCMAKE_OBJDUMP=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-objdump)
+    endif()
+    if(llvm-objcopy IN_LIST TOOLCHAIN_TOOLS)
+      list(APPEND compiler_args -DCMAKE_OBJCOPY=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-objcopy)
+    endif()
+    if(llvm-strip IN_LIST TOOLCHAIN_TOOLS)
+      list(APPEND compiler_args -DCMAKE_STRIP=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-strip)
+    endif()
     list(APPEND ARG_DEPENDS ${TOOLCHAIN_TOOLS})
   endif()
 
@@ -139,8 +154,13 @@
   if(CMAKE_CROSSCOMPILING)
     set(compiler_args -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
                       -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+                      -DCMAKE_LINKER=${CMAKE_LINKER}
                       -DCMAKE_AR=${CMAKE_AR}
-                      -DCMAKE_RANLIB=${CMAKE_RANLIB})
+                      -DCMAKE_RANLIB=${CMAKE_RANLIB}
+                      -DCMAKE_NM=${CMAKE_NM}
+                      -DCMAKE_OBJCOPY=${CMAKE_OBJCOPY}
+                      -DCMAKE_OBJDUMP=${CMAKE_OBJDUMP}
+                      -DCMAKE_STRIP=${CMAKE_STRIP})
     set(llvm_config_path ${LLVM_CONFIG_PATH})
   else()
     set(llvm_config_path "$<TARGET_FILE:llvm-config>")
@@ -201,7 +221,7 @@
   endif()
 
   if(NOT ARG_NO_INSTALL)
-    install(CODE "execute_process\(COMMAND \${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=\${CMAKE_INSTALL_PREFIX} -P ${BINARY_DIR}/cmake_install.cmake \)"
+    install(CODE "execute_process\(COMMAND \${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=\${CMAKE_INSTALL_PREFIX} -DCMAKE_INSTALL_DO_STRIP=\${CMAKE_INSTALL_DO_STRIP} -P ${BINARY_DIR}/cmake_install.cmake\)"
       COMPONENT ${name})
 
     add_llvm_install_targets(install-${name}
@@ -211,16 +231,13 @@
 
   # Add top-level targets
   foreach(target ${ARG_EXTRA_TARGETS})
-    string(REPLACE ":" ";" target_list ${target})
-    list(GET target_list 0 target)
-    list(LENGTH target_list target_list_len)
-    if(${target_list_len} GREATER 1)
-      list(GET target_list 1 target_name)
+    if(DEFINED ${target})
+      set(external_target "${${target}}")
     else()
-      set(target_name "${target}")
+      set(external_target "${target}")
     endif()
-    llvm_ExternalProject_BuildCmd(build_runtime_cmd ${target} ${BINARY_DIR})
-    add_custom_target(${target_name}
+    llvm_ExternalProject_BuildCmd(build_runtime_cmd ${external_target} ${BINARY_DIR})
+    add_custom_target(${target}
       COMMAND ${build_runtime_cmd}
       DEPENDS ${name}-configure
       WORKING_DIRECTORY ${BINARY_DIR}