From 190b5db97fdef4fb5f5d6c064583a74d7bd8e124 Mon Sep 17 00:00:00 2001 From: magic-akari Date: Fri, 10 Oct 2025 22:27:09 +0800 Subject: [PATCH 1/5] ci: add support for aarch64-pc-windows-gnullvm target --- .github/workflows/ci.yaml | 15 +++++++++++++++ ci/actions-templates/windows-builds-template.yaml | 5 +++++ ci/cloudfront-invalidation.txt | 2 ++ 3 files changed, 22 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 397ecda51c..db55cb0261 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -38,6 +38,7 @@ jobs: - x86_64-pc-windows-msvc - aarch64-pc-windows-msvc - x86_64-pc-windows-gnu + - aarch64-pc-windows-gnullvm include: - target: x86_64-pc-windows-msvc run_tests: YES @@ -50,6 +51,10 @@ jobs: rustup_arch: aarch64 os: windows-11-arm run_tests: YES + - target: aarch64-pc-windows-gnullvm + rustup_arch: aarch64 + os: windows-11-arm + run_tests: YES steps: - uses: actions/checkout@v5 # v2 defaults to a shallow checkout, but we need at least to the previous tag @@ -210,6 +215,7 @@ jobs: - x86_64-pc-windows-msvc - aarch64-pc-windows-msvc - x86_64-pc-windows-gnu + - aarch64-pc-windows-gnullvm include: - target: x86_64-pc-windows-msvc run_tests: YES @@ -222,6 +228,10 @@ jobs: rustup_arch: aarch64 os: windows-11-arm run_tests: YES + - target: aarch64-pc-windows-gnullvm + rustup_arch: aarch64 + os: windows-11-arm + run_tests: YES steps: - uses: actions/checkout@v5 # v2 defaults to a shallow checkout, but we need at least to the previous tag @@ -384,6 +394,7 @@ jobs: - aarch64-pc-windows-msvc - x86_64-pc-windows-gnu - i686-pc-windows-gnu # skip-pr skip-main + - aarch64-pc-windows-gnullvm include: - target: x86_64-pc-windows-msvc run_tests: YES @@ -396,6 +407,10 @@ jobs: rustup_arch: aarch64 os: windows-11-arm run_tests: YES + - target: aarch64-pc-windows-gnullvm + rustup_arch: aarch64 + os: windows-11-arm + run_tests: YES - target: i686-pc-windows-gnu # skip-pr skip-main arch: i686 # skip-pr skip-main mingwdir: mingw32 # skip-pr skip-main diff --git a/ci/actions-templates/windows-builds-template.yaml b/ci/actions-templates/windows-builds-template.yaml index 151001ebd9..c18ef4ccd1 100644 --- a/ci/actions-templates/windows-builds-template.yaml +++ b/ci/actions-templates/windows-builds-template.yaml @@ -27,6 +27,7 @@ jobs: # skip-main skip-pr skip-stable - aarch64-pc-windows-msvc - x86_64-pc-windows-gnu - i686-pc-windows-gnu # skip-pr skip-main + - aarch64-pc-windows-gnullvm include: - target: x86_64-pc-windows-msvc run_tests: YES @@ -39,6 +40,10 @@ jobs: # skip-main skip-pr skip-stable rustup_arch: aarch64 os: windows-11-arm run_tests: YES + - target: aarch64-pc-windows-gnullvm + rustup_arch: aarch64 + os: windows-11-arm + run_tests: YES - target: i686-pc-windows-gnu # skip-pr skip-main arch: i686 # skip-pr skip-main mingwdir: mingw32 # skip-pr skip-main diff --git a/ci/cloudfront-invalidation.txt b/ci/cloudfront-invalidation.txt index 557404da6c..7e5e77293c 100644 --- a/ci/cloudfront-invalidation.txt +++ b/ci/cloudfront-invalidation.txt @@ -5,6 +5,8 @@ rustup/dist/aarch64-apple-darwin/rustup-init rustup/dist/aarch64-apple-darwin/rustup-init.sha256 rustup/dist/aarch64-linux-android/rustup-init rustup/dist/aarch64-linux-android/rustup-init.sha256 +rustup/dist/aarch64-pc-windows-gnullvm/rustup-init.exe +rustup/dist/aarch64-pc-windows-gnullvm/rustup-init.exe.sha256 rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe.sha256 rustup/dist/aarch64-unknown-linux-gnu/rustup-init From 4c1876cabf8f414377a97f934939634fc3fcadfa Mon Sep 17 00:00:00 2001 From: magic-akari Date: Fri, 10 Oct 2025 22:38:02 +0800 Subject: [PATCH 2/5] ci: exclude aarch64-pc-windows-gnullvm from aws-lc-rs --- ci/run.bash | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/run.bash b/ci/run.bash index f9d28cd6e6..1c3c9cffc3 100644 --- a/ci/run.bash +++ b/ci/run.bash @@ -34,6 +34,7 @@ case "$TARGET" in *netbsd* ) ;; *illumos* ) ;; *solaris* ) ;; + aarch64-pc-windows-gnullvm ) ;; # default case, build with rustls enabled * ) FEATURES+=('--features' 'reqwest-rustls-tls') ;; esac @@ -67,6 +68,7 @@ build_test() { mips* ) ;; riscv* ) ;; s390x* ) ;; + aarch64-pc-windows-gnullvm ) ;; # default case, build with rustls enabled * ) features+=('--features' 'reqwest-rustls-tls') ;; esac From 70c6a52d139e0cbca872f8fb33f36ac80446db96 Mon Sep 17 00:00:00 2001 From: magic-akari Date: Fri, 10 Oct 2025 22:54:40 +0800 Subject: [PATCH 3/5] fix(rustup-init/sh): map aarch64 Windows to gnullvm target --- rustup-init.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rustup-init.sh b/rustup-init.sh index 6a50beacb5..e486a5497c 100755 --- a/rustup-init.sh +++ b/rustup-init.sh @@ -466,6 +466,10 @@ get_architecture() { aarch64 | arm64) _cputype=aarch64 + # Windows aarch64 uses gnullvm instead of gnu + if [ "$_ostype" = "pc-windows-gnu" ]; then + _ostype=pc-windows-gnullvm + fi ;; x86_64 | x86-64 | x64 | amd64) From 309d1d9aab1beae285eede8ebba678d15e13ab72 Mon Sep 17 00:00:00 2001 From: rami3l Date: Mon, 13 Oct 2025 22:13:12 +0800 Subject: [PATCH 4/5] revert(ci): exclude aarch64-pc-windows-gnullvm from aws-lc-rs This reverts commit 4c1876cabf8f414377a97f934939634fc3fcadfa. --- ci/run.bash | 2 -- 1 file changed, 2 deletions(-) diff --git a/ci/run.bash b/ci/run.bash index 1c3c9cffc3..f9d28cd6e6 100644 --- a/ci/run.bash +++ b/ci/run.bash @@ -34,7 +34,6 @@ case "$TARGET" in *netbsd* ) ;; *illumos* ) ;; *solaris* ) ;; - aarch64-pc-windows-gnullvm ) ;; # default case, build with rustls enabled * ) FEATURES+=('--features' 'reqwest-rustls-tls') ;; esac @@ -68,7 +67,6 @@ build_test() { mips* ) ;; riscv* ) ;; s390x* ) ;; - aarch64-pc-windows-gnullvm ) ;; # default case, build with rustls enabled * ) features+=('--features' 'reqwest-rustls-tls') ;; esac From bb28581f4f31365d05bee2341c3e25aa2fcc6caf Mon Sep 17 00:00:00 2001 From: rami3l Date: Mon, 13 Oct 2025 22:18:32 +0800 Subject: [PATCH 5/5] ci(windows): override `AWS_LC_SYS_EFFECTIVE_TARGET` for `aarch64-pc-windows-gnullvm` --- .github/workflows/ci.yaml | 9 +++++++++ ci/actions-templates/windows-builds-template.yaml | 3 +++ 2 files changed, 12 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index db55cb0261..c1bd64b1f4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -25,6 +25,9 @@ jobs: env: RUSTFLAGS: -Ctarget-feature=+crt-static RUST_MIN_STACK: 16777216 + # Below is a workaround in order to generate the right bindings for `aws-lc-sys`. + # See https://github.com/aws/aws-lc-rs/issues/919 for more details. + AWS_LC_SYS_EFFECTIVE_TARGET_aarch64_pc_windows_gnullvm: aarch64-pc-windows-gnu permissions: id-token: write contents: read @@ -202,6 +205,9 @@ jobs: env: RUSTFLAGS: -Ctarget-feature=+crt-static RUST_MIN_STACK: 16777216 + # Below is a workaround in order to generate the right bindings for `aws-lc-sys`. + # See https://github.com/aws/aws-lc-rs/issues/919 for more details. + AWS_LC_SYS_EFFECTIVE_TARGET_aarch64_pc_windows_gnullvm: aarch64-pc-windows-gnu permissions: id-token: write contents: read @@ -379,6 +385,9 @@ jobs: env: RUSTFLAGS: -Ctarget-feature=+crt-static RUST_MIN_STACK: 16777216 + # Below is a workaround in order to generate the right bindings for `aws-lc-sys`. + # See https://github.com/aws/aws-lc-rs/issues/919 for more details. + AWS_LC_SYS_EFFECTIVE_TARGET_aarch64_pc_windows_gnullvm: aarch64-pc-windows-gnu permissions: id-token: write contents: read diff --git a/ci/actions-templates/windows-builds-template.yaml b/ci/actions-templates/windows-builds-template.yaml index c18ef4ccd1..4f07135fb1 100644 --- a/ci/actions-templates/windows-builds-template.yaml +++ b/ci/actions-templates/windows-builds-template.yaml @@ -12,6 +12,9 @@ jobs: # skip-main skip-pr skip-stable env: RUSTFLAGS: -Ctarget-feature=+crt-static RUST_MIN_STACK: 16777216 + # Below is a workaround in order to generate the right bindings for `aws-lc-sys`. + # See https://github.com/aws/aws-lc-rs/issues/919 for more details. + AWS_LC_SYS_EFFECTIVE_TARGET_aarch64_pc_windows_gnullvm: aarch64-pc-windows-gnu permissions: id-token: write contents: read