From 7198f011e97d58ee249c2b52370bd45f7e4f785f Mon Sep 17 00:00:00 2001 From: Amanieu d'Antras <amanieu@gmail.com> Date: Tue, 18 Jul 2023 02:59:35 +0100 Subject: [PATCH 1/3] Experiment: Try making all compiler-builtins intrinsics weak symbols --- src/bootstrap/compile.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs index f3d95b57a76d7..0c6bbbd73ac28 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs @@ -361,6 +361,7 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car features += " compiler-builtins-no-asm"; } + features += " compiler-builtins-weak-intrinsics"; if builder.no_std(target) == Some(true) { features += " compiler-builtins-mem"; if !target.starts_with("bpf") { From ee6500f6e65f65ead67bc1eb28e85d5c9617c8cf Mon Sep 17 00:00:00 2001 From: Amanieu d'Antras <amanieu@gmail.com> Date: Tue, 18 Jul 2023 12:27:20 +0100 Subject: [PATCH 2/3] Enable mac and windows builders in CI --- .github/workflows/ci.yml | 49 ++++++++++++++++++++++++++++++++ src/ci/github-actions/ci.yml | 55 ++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0842b69c219c8..037244ef25a35 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,6 +61,55 @@ jobs: - name: x86_64-gnu-tools os: ubuntu-20.04-16core-64gb env: {} + - name: x86_64-gnu + os: ubuntu-20.04-4core-16gb + env: {} + - name: x86_64-apple-1 + env: + SCRIPT: "./x.py --stage 2 test --exclude tests/ui --exclude tests/rustdoc --exclude tests/run-make-fulldeps" + RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false" + RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 + MACOSX_DEPLOYMENT_TARGET: 10.8 + MACOSX_STD_DEPLOYMENT_TARGET: 10.7 + NO_LLVM_ASSERTIONS: 1 + NO_DEBUG_ASSERTIONS: 1 + NO_OVERFLOW_CHECKS: 1 + os: macos-13 + - name: x86_64-apple-2 + env: + SCRIPT: "./x.py --stage 2 test tests/ui tests/rustdoc tests/run-make-fulldeps" + RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false" + RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 + MACOSX_DEPLOYMENT_TARGET: 10.8 + MACOSX_STD_DEPLOYMENT_TARGET: 10.7 + NO_LLVM_ASSERTIONS: 1 + NO_DEBUG_ASSERTIONS: 1 + NO_OVERFLOW_CHECKS: 1 + os: macos-13 + - name: x86_64-msvc + env: + RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-profiler" + SCRIPT: make ci-msvc + os: windows-2019-8core-32gb + - name: i686-msvc + env: + RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-msvc" + SCRIPT: make ci-msvc + os: windows-2019-8core-32gb + - name: i686-mingw + env: + RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu" + SCRIPT: make ci-mingw + NO_DOWNLOAD_CI_LLVM: 1 + CUSTOM_MINGW: 1 + os: windows-2019-8core-32gb + - name: x86_64-mingw + env: + SCRIPT: make ci-mingw + RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-gnu --enable-profiler" + NO_DOWNLOAD_CI_LLVM: 1 + CUSTOM_MINGW: 1 + os: windows-2019-8core-32gb timeout-minutes: 600 runs-on: "${{ matrix.os }}" steps: diff --git a/src/ci/github-actions/ci.yml b/src/ci/github-actions/ci.yml index 55fd6cca85a5d..da06be589849d 100644 --- a/src/ci/github-actions/ci.yml +++ b/src/ci/github-actions/ci.yml @@ -329,6 +329,61 @@ jobs: - name: x86_64-gnu-tools <<: *job-linux-16c + - name: x86_64-gnu + <<: *job-linux-4c + + - name: x86_64-apple-1 + env: &env-x86_64-apple-tests + SCRIPT: ./x.py --stage 2 test --exclude tests/ui --exclude tests/rustdoc --exclude tests/run-make-fulldeps + RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false + RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 + MACOSX_DEPLOYMENT_TARGET: 10.8 + MACOSX_STD_DEPLOYMENT_TARGET: 10.7 + NO_LLVM_ASSERTIONS: 1 + NO_DEBUG_ASSERTIONS: 1 + NO_OVERFLOW_CHECKS: 1 + <<: *job-macos-xl + + - name: x86_64-apple-2 + env: + SCRIPT: ./x.py --stage 2 test tests/ui tests/rustdoc tests/run-make-fulldeps + <<: *env-x86_64-apple-tests + <<: *job-macos-xl + + - name: x86_64-msvc + env: + RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler + SCRIPT: make ci-msvc + <<: *job-windows-8c + + - name: i686-msvc + env: + RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc + SCRIPT: make ci-msvc + <<: *job-windows-8c + + - name: i686-mingw + env: + RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu + SCRIPT: make ci-mingw + # We are intentionally allowing an old toolchain on this builder (and that's + # incompatible with LLVM downloads today). + NO_DOWNLOAD_CI_LLVM: 1 + CUSTOM_MINGW: 1 + <<: *job-windows-8c + + - name: x86_64-mingw + env: + SCRIPT: make ci-mingw + RUST_CONFIGURE_ARGS: >- + --build=x86_64-pc-windows-gnu + --enable-profiler + # We are intentionally allowing an old toolchain on this builder (and that's + # incompatible with LLVM downloads today). + NO_DOWNLOAD_CI_LLVM: 1 + CUSTOM_MINGW: 1 + <<: *job-windows-8c + auto: <<: *base-ci-job name: auto - ${{ matrix.name }} From 04043f701ba38ba20d89bf2f4f22bd87901cf016 Mon Sep 17 00:00:00 2001 From: Amanieu d'Antras <amanieu@gmail.com> Date: Tue, 18 Jul 2023 13:09:41 +0100 Subject: [PATCH 3/3] Don't do it on mingw --- .github/workflows/ci.yml | 14 -------------- src/bootstrap/compile.rs | 4 +++- src/ci/github-actions/ci.yml | 22 ---------------------- 3 files changed, 3 insertions(+), 37 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 037244ef25a35..df72a3b631d05 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,20 +96,6 @@ jobs: RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-msvc" SCRIPT: make ci-msvc os: windows-2019-8core-32gb - - name: i686-mingw - env: - RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu" - SCRIPT: make ci-mingw - NO_DOWNLOAD_CI_LLVM: 1 - CUSTOM_MINGW: 1 - os: windows-2019-8core-32gb - - name: x86_64-mingw - env: - SCRIPT: make ci-mingw - RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-gnu --enable-profiler" - NO_DOWNLOAD_CI_LLVM: 1 - CUSTOM_MINGW: 1 - os: windows-2019-8core-32gb timeout-minutes: 600 runs-on: "${{ matrix.os }}" steps: diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs index 0c6bbbd73ac28..d034584e6127a 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs @@ -361,7 +361,9 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car features += " compiler-builtins-no-asm"; } - features += " compiler-builtins-weak-intrinsics"; + if !target.contains("mingw") { + features += " compiler-builtins-weak-intrinsics"; + } if builder.no_std(target) == Some(true) { features += " compiler-builtins-mem"; if !target.starts_with("bpf") { diff --git a/src/ci/github-actions/ci.yml b/src/ci/github-actions/ci.yml index da06be589849d..296df1622fcb1 100644 --- a/src/ci/github-actions/ci.yml +++ b/src/ci/github-actions/ci.yml @@ -362,28 +362,6 @@ jobs: SCRIPT: make ci-msvc <<: *job-windows-8c - - name: i686-mingw - env: - RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu - SCRIPT: make ci-mingw - # We are intentionally allowing an old toolchain on this builder (and that's - # incompatible with LLVM downloads today). - NO_DOWNLOAD_CI_LLVM: 1 - CUSTOM_MINGW: 1 - <<: *job-windows-8c - - - name: x86_64-mingw - env: - SCRIPT: make ci-mingw - RUST_CONFIGURE_ARGS: >- - --build=x86_64-pc-windows-gnu - --enable-profiler - # We are intentionally allowing an old toolchain on this builder (and that's - # incompatible with LLVM downloads today). - NO_DOWNLOAD_CI_LLVM: 1 - CUSTOM_MINGW: 1 - <<: *job-windows-8c - auto: <<: *base-ci-job name: auto - ${{ matrix.name }}