From d909d69d3a1d222587b9ffe27b73f5afab44ed54 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Mon, 12 Oct 2020 13:56:07 -0400 Subject: [PATCH 1/4] Upgrade OpenSSL to 1.1.1h and add support for aarch64-apple-darwin --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bfc2d3e066a..4b1b966d311 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2191,9 +2191,9 @@ checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" [[package]] name = "openssl-src" -version = "111.10.2+1.1.1g" +version = "111.12.0+1.1.1h" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a287fdb22e32b5b60624d4a5a7a02dbe82777f730ec0dbc42a0554326fef5a70" +checksum = "858a4132194f8570a7ee9eb8629e85b23cbc4565f2d4a162e87556e5956abf61" dependencies = [ "cc", ] From 5ae5b0e79035a2f858a22536156e1f9eb4b59cad Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Sat, 26 Sep 2020 09:42:04 -0400 Subject: [PATCH 2/4] Enable building Cargo for aarch64-apple-darwin --- .github/workflows/ci.yml | 3 ++- src/ci/github-actions/ci.yml | 9 ++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4659c3ddec..7d225a73776 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -306,7 +306,7 @@ jobs: - name: dist-aarch64-apple env: SCRIPT: "./x.py dist --stage 2" - RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --host=aarch64-apple-darwin --target=aarch64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false --tools=rls,clippy,rustfmt,analysis,src" + RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --host=aarch64-apple-darwin --target=aarch64-apple-darwin --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false" RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 SELECT_XCODE: /Applications/Xcode_12_beta.app USE_XCODE_CLANG: 1 @@ -314,6 +314,7 @@ jobs: MACOSX_STD_DEPLOYMENT_TARGET: 11.0 NO_LLVM_ASSERTIONS: 1 NO_DEBUG_ASSERTIONS: 1 + DIST_REQUIRE_ALL_TOOLS: 1 os: macos-latest - name: x86_64-msvc-1 env: diff --git a/src/ci/github-actions/ci.yml b/src/ci/github-actions/ci.yml index 7346330bfb7..2ce0093079c 100644 --- a/src/ci/github-actions/ci.yml +++ b/src/ci/github-actions/ci.yml @@ -469,11 +469,11 @@ jobs: --build=x86_64-apple-darwin --host=aarch64-apple-darwin --target=aarch64-apple-darwin + --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false - --tools=rls,clippy,rustfmt,analysis,src RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 SELECT_XCODE: /Applications/Xcode_12_beta.app USE_XCODE_CLANG: 1 @@ -481,12 +481,7 @@ jobs: MACOSX_STD_DEPLOYMENT_TARGET: 11.0 NO_LLVM_ASSERTIONS: 1 NO_DEBUG_ASSERTIONS: 1 - # TODO: Cargo is disabled until OpenSSL 1.1.1 can be - # compiled for aarch64-apple-darwin:: - # https://github.com/openssl/openssl/pull/12369. Once - # fixed, remove `--tools`, add back - # `--enable-full-tools`, and enable this again - # DIST_REQUIRE_ALL_TOOLS: 1 + DIST_REQUIRE_ALL_TOOLS: 1 <<: *job-macos-xl ###################### From eb0c996ee26880163896b32d0a4a8ff1f5221123 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Sun, 27 Sep 2020 13:27:29 -0400 Subject: [PATCH 3/4] Configure jemalloc for cross-compilation to aarch64-apple-darwin --- .github/workflows/ci.yml | 1 + src/ci/github-actions/ci.yml | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d225a73776..828a3bc71b8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -315,6 +315,7 @@ jobs: NO_LLVM_ASSERTIONS: 1 NO_DEBUG_ASSERTIONS: 1 DIST_REQUIRE_ALL_TOOLS: 1 + JEMALLOC_SYS_WITH_LG_PAGE: 14 os: macos-latest - name: x86_64-msvc-1 env: diff --git a/src/ci/github-actions/ci.yml b/src/ci/github-actions/ci.yml index 2ce0093079c..090b06f2a0a 100644 --- a/src/ci/github-actions/ci.yml +++ b/src/ci/github-actions/ci.yml @@ -482,6 +482,14 @@ jobs: NO_LLVM_ASSERTIONS: 1 NO_DEBUG_ASSERTIONS: 1 DIST_REQUIRE_ALL_TOOLS: 1 + # Corresponds to 16K page size + # + # Shouldn't be needed if jemalloc-sys is updated to + # handle this platform like iOS or if we build on + # aarch64-apple-darwin itself. + # + # https://github.com/gnzlbg/jemallocator/blob/c27a859e98e3cb790dc269773d9da71a1e918458/jemalloc-sys/build.rs#L237 + JEMALLOC_SYS_WITH_LG_PAGE: 14 <<: *job-macos-xl ###################### From 8b6e3460db2e1f11ce306fa14d5b1e32a34f7780 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Tue, 13 Oct 2020 11:00:03 -0400 Subject: [PATCH 4/4] aarch64-apple-darwin now includes Cargo --- src/doc/rustc/src/platform-support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc/rustc/src/platform-support.md b/src/doc/rustc/src/platform-support.md index 2cb6bcdb966..ae55297b78c 100644 --- a/src/doc/rustc/src/platform-support.md +++ b/src/doc/rustc/src/platform-support.md @@ -57,7 +57,7 @@ Specifically, these platforms are required to have each of the following: target | std | host | notes -------|-----|------|------- -`aarch64-apple-darwin` | ✓ | | ARM64 macOS (11.0+, Big Sur+) +`aarch64-apple-darwin` | ✓ | ✓ | ARM64 macOS (11.0+, Big Sur+) `aarch64-apple-ios` | ✓ | | ARM64 iOS `aarch64-fuchsia` | ✓ | | ARM64 Fuchsia `aarch64-linux-android` | ✓ | | ARM64 Android