From 3625597d198601631edb1b1f8f84c6d81ca7e527 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Thu, 23 Jan 2025 19:23:23 +0100 Subject: [PATCH 1/9] [windows][toolchain] Build sanitizers and builtins standalone for all SDKs --- cmake/caches/Windows-aarch64.cmake | 17 --------- cmake/caches/Windows-x86_64.cmake | 58 ------------------------------ utils/build.ps1 | 50 ++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 75 deletions(-) diff --git a/cmake/caches/Windows-aarch64.cmake b/cmake/caches/Windows-aarch64.cmake index 089caa349eaa6..1eb8b6e432646 100644 --- a/cmake/caches/Windows-aarch64.cmake +++ b/cmake/caches/Windows-aarch64.cmake @@ -26,22 +26,6 @@ set(LLVM_DEFAULT_TARGET_TRIPLE aarch64-unknown-windows-msvc CACHE STRING "") set(LLVM_APPEND_VC_REV NO CACHE BOOL "") set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR YES CACHE BOOL "") set(LLVM_ENABLE_PYTHON YES CACHE BOOL "") -set(LLVM_RUNTIME_TARGETS - aarch64-unknown-windows-msvc - CACHE STRING "") -foreach(target ${LLVM_RUNTIME_TARGETS}) - set(RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES - compiler-rt - CACHE STRING "") - set(RUNTIMES_${target}_CMAKE_MT mt CACHE STRING "") - set(RUNTIMES_${target}_CMAKE_SYSTEM_NAME Windows CACHE STRING "") - set(RUNTIMES_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_CRT NO CACHE BOOL "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_LIBFUZZER NO CACHE BOOL "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_PROFILE YES CACHE BOOL "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_SANITIZERS NO CACHE BOOL "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_XRAY NO CACHE BOOL "") -endforeach() set(LLVM_TARGETS_TO_BUILD AArch64 ARM WebAssembly X86 CACHE STRING "") @@ -167,7 +151,6 @@ set(LLVM_DISTRIBUTION_COMPONENTS libclang libclang-headers LTO - runtimes ${LLVM_TOOLCHAIN_TOOLS} ${CLANG_TOOLS} ${LLD_TOOLS} diff --git a/cmake/caches/Windows-x86_64.cmake b/cmake/caches/Windows-x86_64.cmake index 71396be127fa8..0074813978d94 100644 --- a/cmake/caches/Windows-x86_64.cmake +++ b/cmake/caches/Windows-x86_64.cmake @@ -27,62 +27,6 @@ set(LLVM_APPEND_VC_REV NO CACHE BOOL "") set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR YES CACHE BOOL "") set(LLVM_ENABLE_PYTHON YES CACHE BOOL "") -set(DEFAULT_BUILTIN_TARGETS - x86_64-unknown-windows-msvc - aarch64-unknown-windows-msvc) -# Build the android builtins if NDK path is provided. -if(NOT "$ENV{NDKPATH}" STREQUAL "") - list(APPEND DEFAULT_BUILTIN_TARGETS - aarch64-unknown-linux-android - x86_64-unknown-linux-android) -endif() - -# The builtin targets are used to build the compiler-rt builtins. -set(LLVM_BUILTIN_TARGETS ${DEFAULT_BUILTIN_TARGETS} CACHE STRING "") - -# The runtime targets are used to build the compiler-rt profile library. -set(LLVM_RUNTIME_TARGETS - x86_64-unknown-windows-msvc - aarch64-unknown-windows-msvc - CACHE STRING "") - -foreach(target ${LLVM_RUNTIME_TARGETS}) - set(RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES - compiler-rt - CACHE STRING "") - set(RUNTIMES_${target}_CMAKE_MT mt CACHE STRING "") - set(RUNTIMES_${target}_CMAKE_SYSTEM_NAME Windows CACHE STRING "") - set(RUNTIMES_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_BUILTINS NO CACHE BOOL "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_CRT NO CACHE BOOL "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_LIBFUZZER NO CACHE BOOL "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_ORC NO CACHE BOOL "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_PROFILE YES CACHE BOOL "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_SANITIZERS NO CACHE BOOL "") - set(RUNTIMES_${target}_COMPILER_RT_BUILD_XRAY NO CACHE BOOL "") -endforeach() - -foreach(target ${LLVM_BUILTIN_TARGETS}) - set(BUILTINS_${target}_CMAKE_MT mt CACHE STRING "") - if(${target} MATCHES windows-msvc) - set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Windows CACHE STRING "") - elseif(${target} MATCHES linux-android) - # Use a single 'linux' directory and arch-based lib names on Android. - set(BUILTINS_${target}_LLVM_ENABLE_PER_TARGET_RUNTIME_DIR NO CACHE BOOL "") - set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Android CACHE STRING "") - if(${target} MATCHES aarch64) - set(BUILTINS_${target}_CMAKE_ANDROID_ARCH_ABI arm64-v8a CACHE STRING "") - else() - set(BUILTINS_${target}_CMAKE_ANDROID_ARCH_ABI x86_64 CACHE STRING "") - endif() - set(BUILTINS_${target}_CMAKE_ANDROID_NDK $ENV{NDKPATH} CACHE PATH "") - set(BUILTINS_${target}_CMAKE_ANDROID_API 21 CACHE STRING "") - set(BUILTINS_${target}_CMAKE_C_COMPILER_TARGET "${target}21" CACHE STRING "") - set(BUILTINS_${target}_CMAKE_CXX_COMPILER_TARGET "${target}21" CACHE STRING "") - endif() - set(BUILTINS_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "") -endforeach() - set(LLVM_TARGETS_TO_BUILD AArch64 ARM WebAssembly X86 CACHE STRING "") # Disable certain targets to reduce the configure time or to avoid configuration @@ -207,8 +151,6 @@ set(LLVM_DISTRIBUTION_COMPONENTS libclang libclang-headers LTO - builtins - runtimes ${LLVM_TOOLCHAIN_TOOLS} ${CLANG_TOOLS} ${LLD_TOOLS} diff --git a/utils/build.ps1 b/utils/build.ps1 index 0b2807925e9d5..44d7fbcb1e74f 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -422,6 +422,8 @@ enum TargetComponent { Foundation XCTest Testing + ClangBuiltins + ClangRuntime } function Get-TargetProjectBinaryCache($Arch, [TargetComponent]$Project) { @@ -1606,6 +1608,52 @@ function Build-LLVM([Platform]$Platform, $Arch) { } } +function Build-Sanitizers([Platform]$Platform, $Arch) { + $BareTarget = $Arch.LLVMTarget.Replace("$AndroidAPILevel", "") + $LLVMDir = "$(Get-TargetProjectBinaryCache $Arch LLVM)\lib\cmake\llvm" + $InstallTo = "$($HostArch.ToolchainInstallRoot)\usr\lib\clang\19" + + Build-CMakeProject ` + -Src $SourceCache\llvm-project\compiler-rt\lib\builtins ` + -Bin "$(Get-TargetProjectBinaryCache $Arch ClangBuiltins)" ` + -InstallTo $InstallTo ` + -Arch $Arch ` + -Platform $Platform ` + -UseBuiltCompilers C,CXX ` + -BuildTargets "install-compiler-rt" ` + -Defines (@{ + CMAKE_MT = "mt"; + CMAKE_SYSTEM_NAME = $Platform.ToString(); + LLVM_DIR = $LLVMDir; + LLVM_ENABLE_PER_TARGET_RUNTIME_DIR = "YES"; + COMPILER_RT_DEFAULT_TARGET_ONLY = "YES"; + }) + + Build-CMakeProject ` + -Src $SourceCache\llvm-project\compiler-rt ` + -Bin "$(Get-TargetProjectBinaryCache $Arch ClangRuntime)" ` + -InstallTo $InstallTo ` + -Arch $Arch ` + -Platform $Platform ` + -UseBuiltCompilers C,CXX ` + -BuildTargets "install-compiler-rt" ` + -Defines (@{ + CMAKE_MT = "mt"; + CMAKE_SYSTEM_NAME = $Platform.ToString(); + LLVM_DIR = $LLVMDir; + LLVM_ENABLE_PER_TARGET_RUNTIME_DIR = "YES"; + LLVM_RUNTIMES_TARGET = $BareTarget; + COMPILER_RT_DEFAULT_TARGET_ONLY = "YES"; + COMPILER_RT_BUILD_BUILTINS = "NO"; + COMPILER_RT_BUILD_CRT = "NO"; + COMPILER_RT_BUILD_LIBFUZZER = "NO"; + COMPILER_RT_BUILD_ORC = "NO"; + COMPILER_RT_BUILD_XRAY = "NO"; + COMPILER_RT_BUILD_PROFILE = "YES"; + COMPILER_RT_BUILD_SANITIZERS = "YES"; + }) +} + function Build-ZLib([Platform]$Platform, $Arch) { $ArchName = $Arch.LLVMName @@ -2822,6 +2870,7 @@ if (-not $SkipBuild) { Invoke-BuildStep Build-FoundationMacros -Build Windows $BuildArch Invoke-BuildStep Build-TestingMacros -Build Windows $BuildArch Invoke-BuildStep Build-Foundation Windows $Arch + Invoke-BuildStep Build-Sanitizers Windows $Arch Invoke-BuildStep Build-XCTest Windows $Arch Invoke-BuildStep Build-Testing Windows $Arch Invoke-BuildStep Write-PlatformInfoPlist $Arch @@ -2840,6 +2889,7 @@ if (-not $SkipBuild) { Invoke-BuildStep Build-Runtime Android $Arch Invoke-BuildStep Build-Dispatch Android $Arch Invoke-BuildStep Build-Foundation Android $Arch + Invoke-BuildStep Build-Sanitizers Android $Arch Invoke-BuildStep Build-XCTest Android $Arch Invoke-BuildStep Build-Testing Android $Arch Invoke-BuildStep Write-PlatformInfoPlist $Arch From fe50fea0f546fd947bbd12ed4eb517e3d37f7846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Tue, 21 Jan 2025 16:54:35 +0100 Subject: [PATCH 2/9] Mark failing Swift sanitizer tests as XFAIL instead of UNSUPPORTED --- test/Driver/sanitize_coverage.swift | 2 ++ test/IRGen/address_sanitizer_use_odr_indicator.swift | 1 + test/Interpreter/indirect_enum.swift | 2 ++ test/Reflection/typeref_decoding_asan.swift | 1 + test/Sanitizers/asan/asan.swift | 2 ++ test/Sanitizers/sanitizer_coverage.swift | 1 + 6 files changed, 9 insertions(+) diff --git a/test/Driver/sanitize_coverage.swift b/test/Driver/sanitize_coverage.swift index e41562a7a4c2f..5953c6f97c2f5 100644 --- a/test/Driver/sanitize_coverage.swift +++ b/test/Driver/sanitize_coverage.swift @@ -1,3 +1,5 @@ +// XFAIL: OS=windows-msvc + // Different sanitizer coverage types // RUN: %swiftc_driver -driver-print-jobs -sanitize-coverage=func -sanitize=address %s | %FileCheck -check-prefix=SANCOV_FUNC %s // RUN: %swiftc_driver -driver-print-jobs -sanitize-coverage=bb -sanitize=address %s | %FileCheck -check-prefix=SANCOV_BB %s diff --git a/test/IRGen/address_sanitizer_use_odr_indicator.swift b/test/IRGen/address_sanitizer_use_odr_indicator.swift index 1ed723e25c08e..298e5cc7c8e90 100644 --- a/test/IRGen/address_sanitizer_use_odr_indicator.swift +++ b/test/IRGen/address_sanitizer_use_odr_indicator.swift @@ -1,3 +1,4 @@ +// XFAIL: OS=windows-msvc // REQUIRES: asan_runtime // Default instrumentation that does not use ODR indicators diff --git a/test/Interpreter/indirect_enum.swift b/test/Interpreter/indirect_enum.swift index 3f5359ed360a7..c96ba96730c61 100644 --- a/test/Interpreter/indirect_enum.swift +++ b/test/Interpreter/indirect_enum.swift @@ -1,3 +1,5 @@ +// XFAIL: OS=windows-msvc + // RUN: %target-swiftc_driver %s -g -sanitize=address -o %t_asan-binary // RUN: %target-codesign %t_asan-binary // RUN: env ASAN_OPTIONS=detect_leaks=0 %target-run %t_asan-binary diff --git a/test/Reflection/typeref_decoding_asan.swift b/test/Reflection/typeref_decoding_asan.swift index 2bd6be187db44..0e7d4498a3619 100644 --- a/test/Reflection/typeref_decoding_asan.swift +++ b/test/Reflection/typeref_decoding_asan.swift @@ -1,4 +1,5 @@ // UNSUPPORTED: OS=linux-gnu && CPU=aarch64 +// XFAIL: OS=windows-msvc // rdar://100805115 // UNSUPPORTED: CPU=arm64e diff --git a/test/Sanitizers/asan/asan.swift b/test/Sanitizers/asan/asan.swift index 3b2005523a009..b6e38598a4636 100644 --- a/test/Sanitizers/asan/asan.swift +++ b/test/Sanitizers/asan/asan.swift @@ -1,3 +1,5 @@ +// XFAIL: OS=windows-msvc + // RUN: %target-swiftc_driver %s -g -sanitize=address -o %t_asan-binary // RUN: %target-codesign %t_asan-binary // RUN: env %env-ASAN_OPTIONS=abort_on_error=0 not %target-run %t_asan-binary 2>&1 | %FileCheck %s diff --git a/test/Sanitizers/sanitizer_coverage.swift b/test/Sanitizers/sanitizer_coverage.swift index 8044beeb37033..ee0abeb62397c 100644 --- a/test/Sanitizers/sanitizer_coverage.swift +++ b/test/Sanitizers/sanitizer_coverage.swift @@ -9,6 +9,7 @@ // For now restrict this test to platforms where we know this test will pass // REQUIRES: CPU=x86_64 // UNSUPPORTED: remote_run +// XFAIL: OS=windows-msvc func sayHello() { print("Hello") From ee702d9db594bbf177cf3e06514b93c7da84597b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Wed, 22 Jan 2025 13:05:58 +0100 Subject: [PATCH 3/9] [dev] Temporarily enable Android x86_64 in CI --- utils/build-windows-toolchain.bat | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utils/build-windows-toolchain.bat b/utils/build-windows-toolchain.bat index 2c2012786b142..1bb90409aaaa8 100644 --- a/utils/build-windows-toolchain.bat +++ b/utils/build-windows-toolchain.bat @@ -77,6 +77,8 @@ powershell.exe -ExecutionPolicy RemoteSigned -File %~dp0build.ps1 ^ -ImageRoot %BuildRoot% ^ %SkipPackagingArg% ^ %TestArg% ^ + -AndroidSDKs x86_64 ^ + -WindowsSDKs X64 ^ -Stage %PackageRoot% ^ -Summary || (exit /b 1) From 9f57c93cee1c94ab61f9063bbb7053c64eecb6db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Fri, 24 Jan 2025 11:28:45 +0100 Subject: [PATCH 4/9] Configure target LLVM with stage-1 compilers and not the build machine ones --- utils/build.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/build.ps1 b/utils/build.ps1 index 44d7fbcb1e74f..5c0e81a31cefc 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -1601,7 +1601,7 @@ function Build-LLVM([Platform]$Platform, $Arch) { -Bin (Get-TargetProjectBinaryCache $Arch LLVM) ` -Arch $Arch ` -Platform $Platform ` - -UseMSVCCompilers C,CXX ` + -UseBuiltCompilers C,CXX ` -Defines @{ CMAKE_SYSTEM_NAME = $Platform.ToString(); LLVM_HOST_TRIPLE = $Arch.LLVMTarget; From 9c61e36913eb61bbc2583b5c23237f4aa0c343dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Fri, 24 Jan 2025 11:31:09 +0100 Subject: [PATCH 5/9] Infer LLVM major version from version string of llvm-lit.py --- utils/build.ps1 | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/utils/build.ps1 b/utils/build.ps1 index 5c0e81a31cefc..8ddf144b16e8c 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -1610,8 +1610,14 @@ function Build-LLVM([Platform]$Platform, $Arch) { function Build-Sanitizers([Platform]$Platform, $Arch) { $BareTarget = $Arch.LLVMTarget.Replace("$AndroidAPILevel", "") - $LLVMDir = "$(Get-TargetProjectBinaryCache $Arch LLVM)\lib\cmake\llvm" - $InstallTo = "$($HostArch.ToolchainInstallRoot)\usr\lib\clang\19" + $LLVMTargetCache = $(Get-TargetProjectBinaryCache $Arch LLVM) + $LITVersionStr = $(Invoke-Program $(Get-PythonExecutable) "$LLVMTargetCache\bin\llvm-lit.py" --version) + if (-not ($LITVersionStr -match "lit (\d+)\.\d+\.\d+.*")) { + throw "Unexpected version string output from llvm-lit.py" + } + $LLVMVersionMajor = $Matches.1 + $InstallTo = "$($HostArch.ToolchainInstallRoot)\usr\lib\clang\$LLVMVersionMajor" + Write-Host "Sanitizers SDK directory: $InstallTo" Build-CMakeProject ` -Src $SourceCache\llvm-project\compiler-rt\lib\builtins ` @@ -1624,7 +1630,7 @@ function Build-Sanitizers([Platform]$Platform, $Arch) { -Defines (@{ CMAKE_MT = "mt"; CMAKE_SYSTEM_NAME = $Platform.ToString(); - LLVM_DIR = $LLVMDir; + LLVM_DIR = "$LLVMTargetCache\lib\cmake\llvm"; LLVM_ENABLE_PER_TARGET_RUNTIME_DIR = "YES"; COMPILER_RT_DEFAULT_TARGET_ONLY = "YES"; }) @@ -1640,7 +1646,7 @@ function Build-Sanitizers([Platform]$Platform, $Arch) { -Defines (@{ CMAKE_MT = "mt"; CMAKE_SYSTEM_NAME = $Platform.ToString(); - LLVM_DIR = $LLVMDir; + LLVM_DIR = "$LLVMTargetCache\lib\cmake\llvm"; LLVM_ENABLE_PER_TARGET_RUNTIME_DIR = "YES"; LLVM_RUNTIMES_TARGET = $BareTarget; COMPILER_RT_DEFAULT_TARGET_ONLY = "YES"; From 86f4bcf10b16d634edcdecc87a647088464ec80b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Fri, 24 Jan 2025 11:32:19 +0100 Subject: [PATCH 6/9] Drop LLVM_RUNTIMES_TARGET parameter from sanitizer config --- utils/build.ps1 | 2 -- 1 file changed, 2 deletions(-) diff --git a/utils/build.ps1 b/utils/build.ps1 index 8ddf144b16e8c..cefb204bb74f9 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -1609,7 +1609,6 @@ function Build-LLVM([Platform]$Platform, $Arch) { } function Build-Sanitizers([Platform]$Platform, $Arch) { - $BareTarget = $Arch.LLVMTarget.Replace("$AndroidAPILevel", "") $LLVMTargetCache = $(Get-TargetProjectBinaryCache $Arch LLVM) $LITVersionStr = $(Invoke-Program $(Get-PythonExecutable) "$LLVMTargetCache\bin\llvm-lit.py" --version) if (-not ($LITVersionStr -match "lit (\d+)\.\d+\.\d+.*")) { @@ -1648,7 +1647,6 @@ function Build-Sanitizers([Platform]$Platform, $Arch) { CMAKE_SYSTEM_NAME = $Platform.ToString(); LLVM_DIR = "$LLVMTargetCache\lib\cmake\llvm"; LLVM_ENABLE_PER_TARGET_RUNTIME_DIR = "YES"; - LLVM_RUNTIMES_TARGET = $BareTarget; COMPILER_RT_DEFAULT_TARGET_ONLY = "YES"; COMPILER_RT_BUILD_BUILTINS = "NO"; COMPILER_RT_BUILD_CRT = "NO"; From 7ec40213de3c5c5f1f17430a47af14168d76a670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Fri, 24 Jan 2025 11:33:12 +0100 Subject: [PATCH 7/9] Drop CMAKE_MT parameter from both configs --- utils/build.ps1 | 2 -- 1 file changed, 2 deletions(-) diff --git a/utils/build.ps1 b/utils/build.ps1 index cefb204bb74f9..946db0112ea1b 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -1627,7 +1627,6 @@ function Build-Sanitizers([Platform]$Platform, $Arch) { -UseBuiltCompilers C,CXX ` -BuildTargets "install-compiler-rt" ` -Defines (@{ - CMAKE_MT = "mt"; CMAKE_SYSTEM_NAME = $Platform.ToString(); LLVM_DIR = "$LLVMTargetCache\lib\cmake\llvm"; LLVM_ENABLE_PER_TARGET_RUNTIME_DIR = "YES"; @@ -1643,7 +1642,6 @@ function Build-Sanitizers([Platform]$Platform, $Arch) { -UseBuiltCompilers C,CXX ` -BuildTargets "install-compiler-rt" ` -Defines (@{ - CMAKE_MT = "mt"; CMAKE_SYSTEM_NAME = $Platform.ToString(); LLVM_DIR = "$LLVMTargetCache\lib\cmake\llvm"; LLVM_ENABLE_PER_TARGET_RUNTIME_DIR = "YES"; From 98f85d7c3fd50592c62d43d79d1682873833af10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Mon, 27 Jan 2025 13:41:06 +0100 Subject: [PATCH 8/9] Revert "[dev] Temporarily enable Android x86_64 in CI" This reverts commit ee702d9db594bbf177cf3e06514b93c7da84597b. --- utils/build-windows-toolchain.bat | 2 -- 1 file changed, 2 deletions(-) diff --git a/utils/build-windows-toolchain.bat b/utils/build-windows-toolchain.bat index 1bb90409aaaa8..2c2012786b142 100644 --- a/utils/build-windows-toolchain.bat +++ b/utils/build-windows-toolchain.bat @@ -77,8 +77,6 @@ powershell.exe -ExecutionPolicy RemoteSigned -File %~dp0build.ps1 ^ -ImageRoot %BuildRoot% ^ %SkipPackagingArg% ^ %TestArg% ^ - -AndroidSDKs x86_64 ^ - -WindowsSDKs X64 ^ -Stage %PackageRoot% ^ -Summary || (exit /b 1) From e2f501ff3f82abac742a117c4c96e19eea8b67b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Tue, 28 Jan 2025 13:08:11 +0100 Subject: [PATCH 9/9] Explicitly configure ASM compiler along with C and C++ --- utils/build.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/build.ps1 b/utils/build.ps1 index 946db0112ea1b..d3af2931bb6f6 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -1624,7 +1624,7 @@ function Build-Sanitizers([Platform]$Platform, $Arch) { -InstallTo $InstallTo ` -Arch $Arch ` -Platform $Platform ` - -UseBuiltCompilers C,CXX ` + -UseBuiltCompilers ASM,C,CXX ` -BuildTargets "install-compiler-rt" ` -Defines (@{ CMAKE_SYSTEM_NAME = $Platform.ToString(); @@ -1639,7 +1639,7 @@ function Build-Sanitizers([Platform]$Platform, $Arch) { -InstallTo $InstallTo ` -Arch $Arch ` -Platform $Platform ` - -UseBuiltCompilers C,CXX ` + -UseBuiltCompilers ASM,C,CXX ` -BuildTargets "install-compiler-rt" ` -Defines (@{ CMAKE_SYSTEM_NAME = $Platform.ToString();