From 4ab3c117d08ce5dab484cb981db069fa4ec0e605 Mon Sep 17 00:00:00 2001 From: Mara Bos Date: Fri, 10 Sep 2021 13:46:15 +0200 Subject: [PATCH 1/2] Work around CI issue with windows sdk 10.0.20348.0. --- .github/workflows/ci.yml | 1 + src/ci/github-actions/ci.yml | 3 +++ src/ci/scripts/install-clang.sh | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ff4fa1527e9..78ff874e755 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -404,6 +404,7 @@ jobs: RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=aarch64-pc-windows-msvc --enable-full-tools --enable-profiler" SCRIPT: python x.py dist DIST_REQUIRE_ALL_TOOLS: 0 + WINDOWS_SDK_20348_HACK: 1 os: windows-latest-xl - name: dist-i686-mingw env: diff --git a/src/ci/github-actions/ci.yml b/src/ci/github-actions/ci.yml index 6417f5a984a..c9f8692d418 100644 --- a/src/ci/github-actions/ci.yml +++ b/src/ci/github-actions/ci.yml @@ -635,6 +635,9 @@ jobs: SCRIPT: python x.py dist # RLS does not build for aarch64-pc-windows-msvc. See rust-lang/rls#1693 DIST_REQUIRE_ALL_TOOLS: 0 + # Hack around this SDK version, because it doesn't work with clang. + # See https://github.com/rust-lang/rust/issues/88796 + WINDOWS_SDK_20348_HACK: 1 <<: *job-windows-xl - name: dist-i686-mingw diff --git a/src/ci/scripts/install-clang.sh b/src/ci/scripts/install-clang.sh index 7b540b5c6e9..fd29d3a022a 100755 --- a/src/ci/scripts/install-clang.sh +++ b/src/ci/scripts/install-clang.sh @@ -37,6 +37,12 @@ if isMacOS; then # `clang-ar` by accident. ciCommandSetEnv AR "ar" elif isWindows && [[ ${CUSTOM_MINGW-0} -ne 1 ]]; then + + if [[ ${WINDOWS_SDK_20348_HACK-0} -eq 1 ]]; then + rm -rf '/c/Program Files (x86)/Windows Kits/10/include/10.0.20348.0' + mv '/c/Program Files (x86)/Windows Kits/10/include/'10.0.{19041,20348}.0 + fi + # If we're compiling for MSVC then we, like most other distribution builders, # switch to clang as the compiler. This'll allow us eventually to enable LTO # amongst LLVM and rustc. Note that we only do this on MSVC as I don't think From 8059bc1069b88a51ec2dfc2483854b9a854b1994 Mon Sep 17 00:00:00 2001 From: Mara Bos Date: Fri, 10 Sep 2021 14:08:19 +0200 Subject: [PATCH 2/2] Temporarily ignore some debuginfo tests on windows. --- src/test/debuginfo/basic-types.rs | 4 ++++ src/test/debuginfo/msvc-pretty-enums.rs | 4 ++++ src/test/debuginfo/pretty-std.rs | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/src/test/debuginfo/basic-types.rs b/src/test/debuginfo/basic-types.rs index c35c3255498..d300e374bec 100644 --- a/src/test/debuginfo/basic-types.rs +++ b/src/test/debuginfo/basic-types.rs @@ -9,6 +9,10 @@ // This fails on lldb 6.0.1 on x86-64 Fedora 28; so ignore Linux for now. // ignore-linux +// This started failing in windows too. See https://github.com/rust-lang/rust/issues/88796 +// FIXME: fix and unignore this on windows +// ignore-windows + // compile-flags:-g // === GDB TESTS =================================================================================== diff --git a/src/test/debuginfo/msvc-pretty-enums.rs b/src/test/debuginfo/msvc-pretty-enums.rs index 9463f82c797..67b5da510f8 100644 --- a/src/test/debuginfo/msvc-pretty-enums.rs +++ b/src/test/debuginfo/msvc-pretty-enums.rs @@ -2,6 +2,10 @@ // ignore-tidy-linelength // compile-flags:-g +// This started failing recently. See https://github.com/rust-lang/rust/issues/88796 +// FIXME: fix and unignore this +// ignore-windows + // cdb-command: g // Note: The natvis used to visualize niche-layout enums don't work correctly in cdb diff --git a/src/test/debuginfo/pretty-std.rs b/src/test/debuginfo/pretty-std.rs index baeada69d1c..cb2e6c618b1 100644 --- a/src/test/debuginfo/pretty-std.rs +++ b/src/test/debuginfo/pretty-std.rs @@ -6,6 +6,10 @@ // min-lldb-version: 310 // min-cdb-version: 10.0.18317.1001 +// This started failing recently. See https://github.com/rust-lang/rust/issues/88796 +// FIXME: fix and unignore this +// ignore-windows + // === GDB TESTS =================================================================================== // gdb-command: run