briansmith / ring

Safe, fast, small crypto using Rust
Other
3.74k stars 704 forks source link

Cross-compiling from Linux to `aarch64-apple-darwin` (Apple Silicon) doesn't work with osxcross #1442

Open sztomi opened 2 years ago

sztomi commented 2 years ago

I'm able to cross compile ring from Linux to x86_64-apple-darwin by using the osxcross toolchain. I set the following in .config/cargo.toml:

[target.x86_64-apple-darwin]
linker = "x86_64-apple-darwin21.1-clang"
ar = "x86_64-apple-darwin21.1-ar"

[target.aarch64-apple-darwin]
linker = "aarch64-apple-darwin21.1-clang"
ar = "aarch64-apple-darwin21.1-ar"

And I set CC=o64-clang and CXX=o64-clang++ before caling cargo build --target <target>. This works fine for x86_64 but for aarch64 I get the following:

  --- stderr
  running "o64-clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=arm64-apple-darwin" "-I" "include" "-Wall" "-Wextra" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/home/tamas/work/nova/target/aarch64-apple-darwin/release/build/ring-a3b7853f1a3b576c/out/aesv8-armx-ios64.o" "/home/tamas/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S"
  In file included from /home/tamas/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:12:
  include/GFp/arm_arch.h:96:5: error: "unsupported ARM architecture"
  #   error "unsupported ARM architecture"
      ^
  1 error generated.
  thread 'main' panicked at 'execution failed', /home/tamas/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/build.rs:656:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The Apple SDK is 12.0 so it should in theory support building for M1. Note that this issue is the opposite of https://github.com/briansmith/ring/issues/1332: that issue is about cross-compiling from an M1 host to Linux, this one is the other way around.

briansmith commented 2 years ago

If you look at arm_arch.h you can see that it is expecting the compiler to set __ARM_ARCH__ and/or similar macros like __aarch64__. It seems like something must be off with osxcross if it isn't defining __aarch64__.

The discussion in https://github.com/rust-lang/rust-bindgen/issues/1211 makes me think that maybe https://github.com/alexcrichton/cc-rs/issues/542 is the issue, as --target=arm64-apple-darwin doesn't look right to me.

sztomi commented 2 years ago

Oh, that's a good hunch. Yes, I'm pretty sure that in "apple lingo" the architecture is called "arm64", not aarch64. I was actually surprised that the rust triple was aarch64. It's understandable that the Rust team went with a unified arch name though (we faced the same issue at work in a different context and also opted for aarch64 everywhere).

Is arm_arch.h a generated source or something that can be patched?

briansmith commented 2 years ago

Is arm_arch.h a generated source or something that can be patched?

It can be patched. Patching might provide some kind of temporary workaround. But the real issue is "Why isn't the C compiler defining the symbols it should be defining?" Because there might be other things it's not correctly configured to do, which impact the rest of the C and assembly code.

rnbguy commented 2 years ago

~I am using aarch64-linux-gnu-gcc. I am getting this error,~


$ TARGET_CC=aarch64-linux-gnu-gcc TARGET_AR=aarch-linux-gnu-gcc-ar cargo build --release --target aarch64-apple-darwin
...
  aarch64-linux-gnu-gcc: error: unrecognized debug output level 'full'
  aarch64-linux-gnu-gcc: error: unrecognized command-line option '-arch'; did you mean '-march='?
...
rnbguy commented 2 years ago

~I get the same above error from TARGET_CC=gcc TARGET_AR=ar cargo build --release --target x86_64-apple-darwin which goes away when I use TARGET_CC=clang.~

~Do I really have to use clang here?~

rnbguy commented 2 years ago

TARGET_CC=clang TARGET_AR=llvm-ar cargo build --target=aarch64-apple-darwin throws,

  In file included from crypto/fipsmodule/aes/aes_nohw.c:15:
  In file included from include/GFp/aes.h:52:
  include/GFp/base.h:117:1: error: static_assert failed due to requirement 'sizeof(unsigned long) == sizeof(unsigned int)' "uintptr_t and size_t differ."
  OPENSSL_STATIC_ASSERT(sizeof(size_t) == sizeof(uintptr_t), "uintptr_t and size_t differ.");
  ^                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  include/GFp/type_check.h:71:42: note: expanded from macro 'OPENSSL_STATIC_ASSERT'
  #define OPENSSL_STATIC_ASSERT(cond, msg) _Static_assert(cond, msg)
                                           ^              ~~~~
  1 error generated.

I am on Linux x86_64 .

sztomi commented 2 years ago

@rnbguy I'm not entirely convinced that you are seeing the same issue I do (though they might be related)

rnbguy commented 2 years ago

@sztomi I think you are right. aarch64-linux-gnu-gcc is not meant for arm64-apple-darwin.

but clang should have worked. So, my last comment is still related to cross-compiling for arm64-apple-darwin on x86_64-linux-gnu.

lmtr0 commented 2 years ago

Ok, for some weird reason this works:

[root@52bd9e36c736 be]# cargo clean
[root@52bd9e36c736 be]# CFLAGS="-D__ARM_ARCH__" CC=clang RUSTFLAGS="-C linker=o64h-clang" cargo build --target aarch64-apple-darwin
   Compiling cc v1.0.73
   Compiling untrusted v0.7.1
   Compiling ring v0.16.20
error: failed to run custom build command for `ring v0.16.20`

Caused by:
  process didn't exit successfully: `/be/target/debug/build/ring-742f4d26dc21a850/build-script-build` (exit status: 101)
  --- stdout
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")

  --- stderr
  running "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/aesv8-armx-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S"
  running "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/ghashv8-armx-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/ghashv8-armx-ios64.S"
  running "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/vpaes-armv8-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/vpaes-armv8-ios64.S"
  running "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/armv8-mont-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/armv8-mont-ios64.S"
  running "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/chacha-armv8-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/chacha-armv8-ios64.S"
  running "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/ecp_nistz256-armv8-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/ecp_nistz256-armv8-ios64.S"
  running "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/ghash-neon-armv8-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/ghash-neon-armv8-ios64.S"
  running "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/sha512-armv8-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/sha512-armv8-ios64.S"
  running "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/sha256-armv8-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/sha256-armv8-ios64.S"
  running "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-std=c1x" "-Wbad-function-cast" "-Wnested-externs" "-Wstrict-prototypes" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/aes_nohw.o" "crypto/fipsmodule/aes/aes_nohw.c"
  In file included from crypto/fipsmodule/aes/aes_nohw.c:15:
  In file included from include/GFp/aes.h:52:
  In file included from include/GFp/base.h:66:
  In file included from /usr/lib/clang/13.0.0/include/stdint.h:52:
  In file included from /usr/include/stdint.h:26:
  In file included from /usr/include/bits/libc-header-start.h:33:
  In file included from /usr/include/features.h:514:
  /usr/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-32.h' file not found
  # include <gnu/stubs-32.h>
            ^~~~~~~~~~~~~~~~
  1 error generated.
  thread 'main' panicked at 'execution failed', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/build.rs:656:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[root@52bd9e36c736 be]# CFLAGS="-D__ARM_ARCH__" CC=o64-clang RUSTFLAGS="-C linker=o64h-clang" cargo build --target aarch64-apple-darwin
   Compiling ring v0.16.20
   Compiling be v0.1.0 (/be)
    Finished dev [unoptimized + debuginfo] target(s) in 4.21s
[root@52bd9e36c736 be]# file target/aarch64-apple-darwin/debug/be
target/aarch64-apple-darwin/debug/be: Mach-O 64-bit arm64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|PIE|HAS_TLV_DESCRIPTORS>
[root@52bd9e36c736 be]#

But only the aarch command gives:

[root@52bd9e36c736 be]# cargo clean
[root@52bd9e36c736 be]# CFLAGS="-D__ARM_ARCH__" CC=o64-clang RUSTFLAGS="-C linker=o64h-clang" cargo build --target aarch64-apple-darwin
   Compiling cc v1.0.73
   Compiling untrusted v0.7.1
   Compiling ring v0.16.20
error: failed to run custom build command for `ring v0.16.20`

Caused by:
  process didn't exit successfully: `/be/target/debug/build/ring-742f4d26dc21a850/build-script-build` (exit status: 101)
  --- stdout
  OPT_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  TARGET_CC = None
  CC = Some("o64-clang")
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  TARGET_CFLAGS = None
  CFLAGS = Some("-D__ARM_ARCH__")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")

  --- stderr
  running "o64-clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-D__ARM_ARCH__" "-I" "include" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/be/target/aarch64-apple-darwin/debug/build/ring-bc471d909e7e38fa/out/aesv8-armx-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S"
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:34:14: error: brackets expression not supported on this target
   stp x29,x30,[sp,#-16]!
               ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:35:13: error: unknown token in expression
   add x29,sp,#0
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:36:9: error: unknown token in expression
   mov x3,#-1
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:37:9: error: unknown token in expression
   cmp x0,#0
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:38:2: error: invalid instruction mnemonic 'b.eq'
   b.eq Lenc_key_abort
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:39:9: error: unknown token in expression
   cmp x2,#0
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:40:2: error: invalid instruction mnemonic 'b.eq'
   b.eq Lenc_key_abort
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:41:9: error: unknown token in expression
   mov x3,#-2
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:42:9: error: unknown token in expression
   cmp w1,#128
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:43:2: error: invalid instruction mnemonic 'b.lt'
   b.lt Lenc_key_abort
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:44:9: error: unknown token in expression
   cmp w1,#256
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:45:2: error: invalid instruction mnemonic 'b.gt'
   b.gt Lenc_key_abort
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:46:9: error: unknown token in expression
   tst w1,#0x3f
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:47:2: error: invalid instruction mnemonic 'b.ne'
   b.ne Lenc_key_abort
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:49:2: error: invalid instruction mnemonic 'adrp'
   adrp x3,Lrcon@PAGE
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:50:2: error: unknown use of instruction mnemonic without a size suffix
   add x3,x3,Lrcon@PAGEOFF
   ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:51:9: error: unknown token in expression
   cmp w1,#192
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:53:2: error: invalid instruction mnemonic 'eor'
   eor v0.16b,v0.16b,v0.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:54:7: error: unknown token in expression
   ld1 {v3.16b},[x0],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:55:9: error: unknown token in expression
   mov w1,#8
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:56:7: error: unknown token in expression
   ld1 {v1.4s,v2.4s},[x3],#32
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:58:2: error: invalid instruction mnemonic 'b.lt'
   b.lt Loop128
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:60:2: error: invalid instruction mnemonic 'b'
   b L256
   ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:64:14: error: unknown token in expression
   tbl v6.16b,{v3.16b},v2.16b
               ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:65:27: error: unknown token in expression
   ext v5.16b,v0.16b,v3.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:66:7: error: unknown token in expression
   st1 {v3.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:67:2: error: invalid instruction mnemonic 'aese'
   aese v6.16b,v0.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:68:13: error: unknown token in expression
   subs w1,w1,#1
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:70:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:71:27: error: unknown token in expression
   ext v5.16b,v0.16b,v5.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:72:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:73:27: error: unknown token in expression
   ext v5.16b,v0.16b,v5.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:74:2: error: invalid instruction mnemonic 'eor'
   eor v6.16b,v6.16b,v1.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:75:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:76:20: error: unknown token in expression
   shl v1.16b,v1.16b,#1
                     ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:77:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v6.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:78:2: error: invalid instruction mnemonic 'b.ne'
   b.ne Loop128
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:80:7: error: unknown token in expression
   ld1 {v1.4s},[x3]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:82:14: error: unknown token in expression
   tbl v6.16b,{v3.16b},v2.16b
               ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:83:27: error: unknown token in expression
   ext v5.16b,v0.16b,v3.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:84:7: error: unknown token in expression
   st1 {v3.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:85:2: error: invalid instruction mnemonic 'aese'
   aese v6.16b,v0.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:87:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:88:27: error: unknown token in expression
   ext v5.16b,v0.16b,v5.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:89:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:90:27: error: unknown token in expression
   ext v5.16b,v0.16b,v5.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:91:2: error: invalid instruction mnemonic 'eor'
   eor v6.16b,v6.16b,v1.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:92:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:93:20: error: unknown token in expression
   shl v1.16b,v1.16b,#1
                     ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:94:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v6.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:96:14: error: unknown token in expression
   tbl v6.16b,{v3.16b},v2.16b
               ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:97:27: error: unknown token in expression
   ext v5.16b,v0.16b,v3.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:98:7: error: unknown token in expression
   st1 {v3.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:99:2: error: invalid instruction mnemonic 'aese'
   aese v6.16b,v0.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:101:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:102:27: error: unknown token in expression
   ext v5.16b,v0.16b,v5.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:103:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:104:27: error: unknown token in expression
   ext v5.16b,v0.16b,v5.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:105:2: error: invalid instruction mnemonic 'eor'
   eor v6.16b,v6.16b,v1.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:106:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:107:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v6.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:108:7: error: unknown token in expression
   st1 {v3.4s},[x2]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:109:12: error: unknown token in expression
   add x2,x2,#0x50
             ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:111:10: error: unknown token in expression
   mov w12,#10
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:112:2: error: invalid instruction mnemonic 'b'
   b Ldone
   ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:118:7: error: unknown token in expression
   ld1 {v4.16b},[x0]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:119:9: error: unknown token in expression
   mov w1,#7
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:120:10: error: unknown token in expression
   mov w12,#14
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:121:7: error: unknown token in expression
   st1 {v3.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:124:14: error: unknown token in expression
   tbl v6.16b,{v4.16b},v2.16b
               ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:125:27: error: unknown token in expression
   ext v5.16b,v0.16b,v3.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:126:7: error: unknown token in expression
   st1 {v4.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:127:2: error: invalid instruction mnemonic 'aese'
   aese v6.16b,v0.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:128:13: error: unknown token in expression
   subs w1,w1,#1
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:130:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:131:27: error: unknown token in expression
   ext v5.16b,v0.16b,v5.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:132:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:133:27: error: unknown token in expression
   ext v5.16b,v0.16b,v5.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:134:2: error: invalid instruction mnemonic 'eor'
   eor v6.16b,v6.16b,v1.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:135:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:136:20: error: unknown token in expression
   shl v1.16b,v1.16b,#1
                     ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:137:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v6.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:138:7: error: unknown token in expression
   st1 {v3.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:139:2: error: invalid instruction mnemonic 'b.eq'
   b.eq Ldone
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:141:16: error: unexpected token in argument list
   dup v6.4s,v3.s[3]
                 ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:142:27: error: unknown token in expression
   ext v5.16b,v0.16b,v4.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:143:2: error: invalid instruction mnemonic 'aese'
   aese v6.16b,v0.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:145:2: error: invalid instruction mnemonic 'eor'
   eor v4.16b,v4.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:146:27: error: unknown token in expression
   ext v5.16b,v0.16b,v5.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:147:2: error: invalid instruction mnemonic 'eor'
   eor v4.16b,v4.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:148:27: error: unknown token in expression
   ext v5.16b,v0.16b,v5.16b,#12
                            ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:149:2: error: invalid instruction mnemonic 'eor'
   eor v4.16b,v4.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:151:2: error: invalid instruction mnemonic 'eor'
   eor v4.16b,v4.16b,v6.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:152:2: error: invalid instruction mnemonic 'b'
   b Loop256
   ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:155:10: error: brackets expression not supported on this target
   str w12,[x2]
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:156:9: error: unknown token in expression
   mov x3,#0
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:159:2: error: unknown use of instruction mnemonic without a size suffix
   mov x0,x3
   ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:160:10: error: brackets expression not supported on this target
   ldr x29,[sp],#16
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:169:9: error: brackets expression not supported on this target
   ldr w3,[x2,#240]
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:170:7: error: unknown token in expression
   ld1 {v0.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:171:7: error: unknown token in expression
   ld1 {v2.16b},[x0]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:172:12: error: unknown token in expression
   sub w3,w3,#2
             ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:173:7: error: unknown token in expression
   ld1 {v1.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:176:2: error: invalid instruction mnemonic 'aese'
   aese v2.16b,v0.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:177:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v2.16b,v2.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:178:7: error: unknown token in expression
   ld1 {v0.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:179:13: error: unknown token in expression
   subs w3,w3,#2
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:180:2: error: invalid instruction mnemonic 'aese'
   aese v2.16b,v1.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:181:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v2.16b,v2.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:182:7: error: unknown token in expression
   ld1 {v1.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:183:2: error: invalid instruction mnemonic 'b.gt'
   b.gt Loop_enc
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:185:2: error: invalid instruction mnemonic 'aese'
   aese v2.16b,v0.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:186:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v2.16b,v2.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:187:7: error: unknown token in expression
   ld1 {v0.4s},[x2]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:188:2: error: invalid instruction mnemonic 'aese'
   aese v2.16b,v1.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:189:2: error: invalid instruction mnemonic 'eor'
   eor v2.16b,v2.16b,v0.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:191:7: error: unknown token in expression
   st1 {v2.16b},[x1]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:200:9: error: brackets expression not supported on this target
   ldr w3,[x2,#240]
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:201:7: error: unknown token in expression
   ld1 {v0.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:202:7: error: unknown token in expression
   ld1 {v2.16b},[x0]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:203:12: error: unknown token in expression
   sub w3,w3,#2
             ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:204:7: error: unknown token in expression
   ld1 {v1.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:207:2: error: invalid instruction mnemonic 'aesd'
   aesd v2.16b,v0.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:208:16: error: invalid operand for instruction
   aesimc v2.16b,v2.16b
                 ^~~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:209:7: error: unknown token in expression
   ld1 {v0.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:210:13: error: unknown token in expression
   subs w3,w3,#2
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:211:2: error: invalid instruction mnemonic 'aesd'
   aesd v2.16b,v1.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:212:16: error: invalid operand for instruction
   aesimc v2.16b,v2.16b
                 ^~~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:213:7: error: unknown token in expression
   ld1 {v1.4s},[x2],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:214:2: error: invalid instruction mnemonic 'b.gt'
   b.gt Loop_dec
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:216:2: error: invalid instruction mnemonic 'aesd'
   aesd v2.16b,v0.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:217:16: error: invalid operand for instruction
   aesimc v2.16b,v2.16b
                 ^~~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:218:7: error: unknown token in expression
   ld1 {v0.4s},[x2]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:219:2: error: invalid instruction mnemonic 'aesd'
   aesd v2.16b,v1.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:220:2: error: invalid instruction mnemonic 'eor'
   eor v2.16b,v2.16b,v0.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:222:7: error: unknown token in expression
   st1 {v2.16b},[x1]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:232:14: error: brackets expression not supported on this target
   stp x29,x30,[sp,#-16]!
               ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:233:13: error: unknown token in expression
   add x29,sp,#0
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:234:9: error: brackets expression not supported on this target
   ldr w5,[x3,#240]
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:236:10: error: brackets expression not supported on this target
   ldr w8, [x4, #12]
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:237:7: error: unknown token in expression
   ld1 {v0.4s},[x4]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:239:7: error: unknown token in expression
   ld1 {v16.4s,v17.4s},[x3]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:240:12: error: unknown token in expression
   sub w5,w5,#4
             ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:241:10: error: unknown token in expression
   mov x12,#16
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:242:9: error: unknown token in expression
   cmp x2,#2
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:243:2: error: unknown use of instruction mnemonic without a size suffix
   add x7,x3,x5,lsl#4
   ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:244:12: error: unknown token in expression
   sub w5,w5,#2
             ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:245:7: error: unknown token in expression
   ld1 {v20.4s,v21.4s},[x7],#32
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:246:7: error: unknown token in expression
   ld1 {v22.4s,v23.4s},[x7],#32
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:247:7: error: unknown token in expression
   ld1 {v7.4s},[x7]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:248:12: error: unknown token in expression
   add x7,x3,#32
             ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:249:2: error: unknown use of instruction mnemonic without a size suffix
   mov w6,w5
   ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:250:2: error: invalid instruction mnemonic 'csel'
   csel x12,xzr,x12,lo
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:252:2: error: invalid instruction mnemonic 'rev'
   rev w8, w8
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:254:15: error: unknown token in expression
   add w10, w8, #1
                ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:255:2: error: invalid instruction mnemonic 'orr'
   orr v6.16b,v0.16b,v0.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:256:2: error: invalid instruction mnemonic 'rev'
   rev w10, w10
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:257:10: error: unexpected token in argument list
   mov v6.s[3],w10
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:258:14: error: unknown token in expression
   add w8, w8, #2
               ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:259:2: error: invalid instruction mnemonic 'orr'
   orr v1.16b,v6.16b,v6.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:260:2: error: invalid instruction mnemonic 'b.ls'
   b.ls Lctr32_tail
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:261:2: error: invalid instruction mnemonic 'rev'
   rev w12, w8
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:262:10: error: unexpected token in argument list
   mov v6.s[3],w12
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:263:12: error: unknown token in expression
   sub x2,x2,#3
             ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:264:2: error: invalid instruction mnemonic 'orr'
   orr v18.16b,v6.16b,v6.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:265:2: error: invalid instruction mnemonic 'b'
   b Loop3x_ctr32
   ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:269:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v16.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:270:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v0.16b,v0.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:271:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v16.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:272:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v1.16b,v1.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:273:2: error: invalid instruction mnemonic 'aese'
   aese v18.16b,v16.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:274:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v18.16b,v18.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:275:7: error: unknown token in expression
   ld1 {v16.4s},[x7],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:276:13: error: unknown token in expression
   subs w6,w6,#2
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:277:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v17.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:278:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v0.16b,v0.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:279:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v17.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:280:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v1.16b,v1.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:281:2: error: invalid instruction mnemonic 'aese'
   aese v18.16b,v17.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:282:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v18.16b,v18.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:283:7: error: unknown token in expression
   ld1 {v17.4s},[x7],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:284:2: error: invalid instruction mnemonic 'b.gt'
   b.gt Loop3x_ctr32
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:286:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v16.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:287:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v4.16b,v0.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:288:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v16.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:289:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v5.16b,v1.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:290:7: error: unknown token in expression
   ld1 {v2.16b},[x0],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:291:12: error: unknown token in expression
   add w9,w8,#1
             ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:292:2: error: invalid instruction mnemonic 'aese'
   aese v18.16b,v16.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:293:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v18.16b,v18.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:294:7: error: unknown token in expression
   ld1 {v3.16b},[x0],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:295:2: error: invalid instruction mnemonic 'rev'
   rev w9,w9
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:296:2: error: invalid instruction mnemonic 'aese'
   aese v4.16b,v17.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:297:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v4.16b,v4.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:298:2: error: invalid instruction mnemonic 'aese'
   aese v5.16b,v17.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:299:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v5.16b,v5.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:300:7: error: unknown token in expression
   ld1 {v19.16b},[x0],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:301:2: error: unknown use of instruction mnemonic without a size suffix
   mov x7,x3
   ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:302:2: error: invalid instruction mnemonic 'aese'
   aese v18.16b,v17.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:303:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v17.16b,v18.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:304:2: error: invalid instruction mnemonic 'aese'
   aese v4.16b,v20.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:305:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v4.16b,v4.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:306:2: error: invalid instruction mnemonic 'aese'
   aese v5.16b,v20.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:307:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v5.16b,v5.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:308:2: error: invalid instruction mnemonic 'eor'
   eor v2.16b,v2.16b,v7.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:309:13: error: unknown token in expression
   add w10,w8,#2
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:310:2: error: invalid instruction mnemonic 'aese'
   aese v17.16b,v20.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:311:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v17.16b,v17.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:312:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v7.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:313:12: error: unknown token in expression
   add w8,w8,#3
             ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:314:2: error: invalid instruction mnemonic 'aese'
   aese v4.16b,v21.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:315:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v4.16b,v4.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:316:2: error: invalid instruction mnemonic 'aese'
   aese v5.16b,v21.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:317:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v5.16b,v5.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:321:2: error: invalid instruction mnemonic 'eor'
   eor v19.16b,v19.16b,v7.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:322:10: error: unexpected token in argument list
   mov v6.s[3], w9
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:323:2: error: invalid instruction mnemonic 'aese'
   aese v17.16b,v21.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:324:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v17.16b,v17.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:325:2: error: invalid instruction mnemonic 'orr'
   orr v0.16b,v6.16b,v6.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:326:2: error: invalid instruction mnemonic 'rev'
   rev w10,w10
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:327:2: error: invalid instruction mnemonic 'aese'
   aese v4.16b,v22.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:328:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v4.16b,v4.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:329:10: error: unexpected token in argument list
   mov v6.s[3], w10
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:330:2: error: invalid instruction mnemonic 'rev'
   rev w12,w8
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:331:2: error: invalid instruction mnemonic 'aese'
   aese v5.16b,v22.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:332:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v5.16b,v5.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:333:2: error: invalid instruction mnemonic 'orr'
   orr v1.16b,v6.16b,v6.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:334:10: error: unexpected token in argument list
   mov v6.s[3], w12
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:335:2: error: invalid instruction mnemonic 'aese'
   aese v17.16b,v22.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:336:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v17.16b,v17.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:337:2: error: invalid instruction mnemonic 'orr'
   orr v18.16b,v6.16b,v6.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:338:13: error: unknown token in expression
   subs x2,x2,#3
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:339:2: error: invalid instruction mnemonic 'aese'
   aese v4.16b,v23.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:340:2: error: invalid instruction mnemonic 'aese'
   aese v5.16b,v23.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:341:2: error: invalid instruction mnemonic 'aese'
   aese v17.16b,v23.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:343:2: error: invalid instruction mnemonic 'eor'
   eor v2.16b,v2.16b,v4.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:344:7: error: unknown token in expression
   ld1 {v16.4s},[x7],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:345:7: error: unknown token in expression
   st1 {v2.16b},[x1],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:346:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v5.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:347:2: error: unknown use of instruction mnemonic without a size suffix
   mov w6,w5
   ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:348:7: error: unknown token in expression
   st1 {v3.16b},[x1],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:349:2: error: invalid instruction mnemonic 'eor'
   eor v19.16b,v19.16b,v17.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:350:7: error: unknown token in expression
   ld1 {v17.4s},[x7],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:351:7: error: unknown token in expression
   st1 {v19.16b},[x1],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:352:2: error: invalid instruction mnemonic 'b.hs'
   b.hs Loop3x_ctr32
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:354:13: error: unknown token in expression
   adds x2,x2,#3
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:355:2: error: invalid instruction mnemonic 'b.eq'
   b.eq Lctr32_done
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:356:9: error: unknown token in expression
   cmp x2,#1
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:357:10: error: unknown token in expression
   mov x12,#16
           ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:358:2: error: invalid instruction mnemonic 'csel'
   csel x12,xzr,x12,eq
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:361:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v16.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:362:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v0.16b,v0.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:363:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v16.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:364:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v1.16b,v1.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:365:7: error: unknown token in expression
   ld1 {v16.4s},[x7],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:366:13: error: unknown token in expression
   subs w6,w6,#2
              ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:367:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v17.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:368:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v0.16b,v0.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:369:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v17.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:370:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v1.16b,v1.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:371:7: error: unknown token in expression
   ld1 {v17.4s},[x7],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:372:2: error: invalid instruction mnemonic 'b.gt'
   b.gt Lctr32_tail
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:374:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v16.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:375:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v0.16b,v0.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:376:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v16.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:377:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v1.16b,v1.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:378:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v17.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:379:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v0.16b,v0.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:380:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v17.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:381:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v1.16b,v1.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:382:7: error: unknown token in expression
   ld1 {v2.16b},[x0],x12
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:383:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v20.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:384:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v0.16b,v0.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:385:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v20.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:386:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v1.16b,v1.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:387:7: error: unknown token in expression
   ld1 {v3.16b},[x0]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:388:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v21.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:389:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v0.16b,v0.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:390:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v21.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:391:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v1.16b,v1.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:392:2: error: invalid instruction mnemonic 'eor'
   eor v2.16b,v2.16b,v7.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:393:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v22.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:394:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v0.16b,v0.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:395:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v22.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:396:2: error: invalid instruction mnemonic 'aesmc'
   aesmc v1.16b,v1.16b
   ^~~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:397:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v7.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:398:2: error: invalid instruction mnemonic 'aese'
   aese v0.16b,v23.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:399:2: error: invalid instruction mnemonic 'aese'
   aese v1.16b,v23.16b
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:401:9: error: unknown token in expression
   cmp x2,#1
          ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:402:2: error: invalid instruction mnemonic 'eor'
   eor v2.16b,v2.16b,v0.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:403:2: error: invalid instruction mnemonic 'eor'
   eor v3.16b,v3.16b,v1.16b
   ^~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:404:7: error: unknown token in expression
   st1 {v2.16b},[x1],#16
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:405:2: error: invalid instruction mnemonic 'b.eq'
   b.eq Lctr32_done
   ^~~~
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:406:7: error: unknown token in expression
   st1 {v3.16b},[x1]
        ^
  /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S:409:10: error: brackets expression not supported on this target
   ldr x29,[sp],#16
           ^
  thread 'main' panicked at 'execution failed', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/build.rs:656:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[root@52bd9e36c736 be]# 
lmtr0 commented 2 years ago

any ideas?

xrl commented 2 years ago

I am digging in to this issue as well. No idea why clang couldn't handle these .S files. This is openssl logic that hasn't been touched in boringssl either. Something is missing from the clang (which I believe has the assembler baked in?)

lmtr0 commented 2 years ago

From what I saw digging in this, it's something missing from clang osx, it was missing __aarch64__ and prob something in the translation to IR because If I started the compilation with normal clang and then ended with osx clang after the error relating to platform sdks, it worked

lmtr0 commented 2 years ago

"worked" could compile but didn't test it

sakibstark11 commented 1 year ago

TARGET_CC=clang TARGET_AR=llvm-ar cargo build --target=aarch64-apple-darwin throws,

  In file included from crypto/fipsmodule/aes/aes_nohw.c:15:
  In file included from include/GFp/aes.h:52:
  include/GFp/base.h:117:1: error: static_assert failed due to requirement 'sizeof(unsigned long) == sizeof(unsigned int)' "uintptr_t and size_t differ."
  OPENSSL_STATIC_ASSERT(sizeof(size_t) == sizeof(uintptr_t), "uintptr_t and size_t differ.");
  ^                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  include/GFp/type_check.h:71:42: note: expanded from macro 'OPENSSL_STATIC_ASSERT'
  #define OPENSSL_STATIC_ASSERT(cond, msg) _Static_assert(cond, msg)
                                           ^              ~~~~
  1 error generated.

I am on Linux x86_64 .

I am getting the same error, I am on an m1 mac running an x86_64 docker image and targetting aarch64-unknown-linux-musl

briansmith commented 1 year ago

Look at build.rs for the logic around setting the -nostdlibinc flag:

    if (target.arch == "wasm32" && target.os == "unknown")
        || (target.os == "linux" && target.is_musl && target.arch != "x86_64")
    {
        if let Ok(compiler) = c.try_get_compiler() {
            // TODO: Expand this to non-clang compilers in 0.17.0 if practical.
            if compiler.is_like_clang() {
                let _ = c.flag("-nostdlibinc");
                let _ = c.define("RING_CORE_NOSTDLIBINC", "1");
            }
        }
    }

Try expanding this to macOS by changing the conditions to allow macos.

sakibstark11 commented 1 year ago

I apologize if this question is stupid, forgive me, I just picked up rust. If I am trying to build this with a target of aarch64-unknown-linux-musl, doesn't the build tool already know that the aim is for a linux aarch build and not a mac one?

briansmith commented 1 year ago

I apologize if this question is stupid, forgive me, I just picked up rust. If I am trying to build this with a target of aarch64-unknown-linux-musl, doesn't the build tool already know that the aim is for a linux aarch build and not a mac one?

This GitHub issue is about targetting -darwin, not -linux-musl. There is another issue about -linux-musl where the discussion already documents a way of doing it which is even tested in ring's CI.

xrl commented 1 year ago

I wanted to know what the build.rs was seeing, added this panic:

panic!("target arch: {}, os: {}, is_musl: {}, is_like_clang: {}", target.arch, target.os, target.is_musl, compiler.is_like_clang());
// thread 'main' panicked at 'target arch: aarch64, os: macos, is_musl: false, is_like_clang: true', build.rs:628:5

so now I know what I'm looking for. trying a specific flavor:

    if (target.arch == "wasm32" && target.os == "unknown")
        || (target.os == "linux" && target.is_musl && target.arch != "x86_64")
        || (target.os == "macos" && target.arch == "aarch64")
    {
        if let Ok(compiler) = c.try_get_compiler() {
            // TODO: Expand this to non-clang compilers in 0.17.0 if practical.
            if compiler.is_like_clang() {
                let _ = c.flag("-nostdlibinc");
                let _ = c.define("RING_CORE_NOSTDLIBINC", "1");
            }
        }
    }

perhaps too restrictive by arch but just a proof of concept. and when I build I still get a failure like:

$ CC=o64-clang CXX=o64-clang++ cargo build --target=aarch64-apple-darwin
[[ SNIP ]]
  running "o64-clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-I" "include" "-I" "/home/rust/src/ring/target/aarch64-apple-darwin/debug/build/ring-0b70c1adb6238891/out" "-Wall" "-Wextra" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-nostdlibinc" "-DRING_CORE_NOSTDLIBINC=1" "-Werror" "-c" "-o/home/rust/src/ring/target/aarch64-apple-darwin/debug/build/ring-0b70c1adb6238891/out/aesv8-armx-ios64.o" "/home/rust/src/ring/target/aarch64-apple-darwin/debug/build/ring-0b70c1adb6238891/out/aesv8-armx-ios64.S"
  /home/rust/src/ring/target/aarch64-apple-darwin/debug/build/ring-0b70c1adb6238891/out/aesv8-armx-ios64.S:15:5: error: '__ARM_MAX_ARCH__' is not defined, evaluates to 0 [-Werror,-Wundef]
  #if __ARM_MAX_ARCH__>=7
      ^
  1 error generated.
  thread 'main' panicked at 'execution failed', build.rs:711:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
briansmith commented 1 year ago

The stuff regarding __ARM_MAX_ARCH__ very recently (in the last couple days) changed on the main branch, and I think that might resolve that.

nefilim commented 1 year ago

running into a related problem trying to cross compile on x86_64 linux to aarch64-apple-darwin:

error: failed to run custom build command for `ring v0.16.20`

Caused by:
  process didn't exit successfully: `/root/develop/xxx/kinesis-scaler-rs/target/release/build/ring-dbf4ceb456879b95/build-script-build` (exit status: 101)
  --- stdout
  OPT_LEVEL = Some("3")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("x86_64-unknown-linux-gnu")
  cargo:rerun-if-env-changed=CC_aarch64-apple-darwin
  CC_aarch64-apple-darwin = None
  cargo:rerun-if-env-changed=CC_aarch64_apple_darwin
  CC_aarch64_apple_darwin = None
  cargo:rerun-if-env-changed=TARGET_CC
  TARGET_CC = None
  cargo:rerun-if-env-changed=CC
  CC = None
  RUSTC_LINKER = None
  cargo:rerun-if-env-changed=CROSS_COMPILE
  CROSS_COMPILE = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64-apple-darwin
  CFLAGS_aarch64-apple-darwin = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64_apple_darwin
  CFLAGS_aarch64_apple_darwin = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("false")
  CARGO_CFG_TARGET_FEATURE = Some("aes,crc,dit,dotprod,dpb,dpb2,fcma,fhm,flagm,fp16,frintts,jsconv,lor,lse,neon,paca,pacg,pan,pmuv3,ras,rcpc,rcpc2,rdm,sb,sha2,sha3,ssbs,vh")

  --- stderr
  running "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "include" "-Wall" "-Wextra" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/root/develop/xxx/kinesis-scaler-rs/target/aarch64-apple-darwin/release/build/ring-88020b2c44455c0d/out/aesv8-armx-ios64.o" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-ios64.S"
  cc: error: unrecognized debug output level ‘full’
  cc: error: unrecognized command-line option ‘-arch’
  thread 'main' panicked at 'execution failed', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/build.rs:656:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
❯ cross --version
cross 0.2.4
[cross] note: Falling back to `cargo` on the host.
cargo 1.65.0 (4bc8f24d3 2022-10-20)
lmtr0 commented 1 year ago

it's using cc not aarch64-apple-darwin, whats your .cargo/config.toml?

nefilim commented 1 year ago

it's empty - i also noticed after the fact that cross doesn't have a Docker image for aarch64-apple-darwin 😞

lmtr0 commented 1 year ago

I do, if you really need it https://github.com/orgs/Higenku/packages/container/package/b%2Fbase it's updated monthly

ds2k5 commented 1 year ago

@sztomi

Hi, could you be so kind and let me know where to get the linker: x86_64-apple-darwin21.1-clang for Debian (x86_64) please ?

lmtr0 commented 1 year ago

If you are using Linux or windows under WSL, you can compile it with osxcross can't remember if they have clang 21.1 you might need to compile clang and llvm to get that version.

sztomi commented 1 year ago

@ds2k5 @lmtr0 yes, it's from the osxcross toolchain (but I mentioned that)

lmtr0 commented 1 year ago

I apologize, this thread has been open for so long, I didn't remember you did mention

ds2k5 commented 1 year ago

thanks to @sztomi and @Imtr0

got I compiled

but try to compile a simple rust src code got this:


2$ cargo build --target x86_64-apple-darwin --release
warning: unused manifest key: target.x86_64-unknown-linux-gnu.rustflags
   Compiling encoding_index_tests v0.1.4
   Compiling byteorder v1.4.3
   Compiling sys-locale v0.3.1
   Compiling current_platform v0.2.0
   Compiling encoding-index-tradchinese v1.20141219.5
   Compiling encoding-index-simpchinese v1.20141219.5
   Compiling encoding-index-korean v1.20141219.5
   Compiling encoding-index-japanese v1.20141219.5
   Compiling encoding-index-singlebyte v1.20141219.5
   Compiling encoding v0.2.33
   Compiling gettext-ng v0.4.1
   Compiling hello_world2 v0.1.0 (/home/developer/rust/hello_world2)
warning: stripping debug info with `strip` failed: exit status: 1
  |
  = note: strip: '/home/developer/rust/hello_world2/target/x86_64-apple-darwin/release/deps/hello_world2-bcf460cdf532cd40': No such file

warning: `hello_world2` (bin "hello_world2") generated 1 warning
    Finished release [optimized] target(s) in 5.41s

when using ~/osxcross/target/bin/x86_64-apple-darwin15-clang insted of ~/osxcross/target/bin/x86_64-apple-darwin15-osxcross


  Compiling encoding_index_tests v0.1.4
   Compiling byteorder v1.4.3
   Compiling sys-locale v0.3.1
   Compiling current_platform v0.2.0
   Compiling encoding-index-japanese v1.20141219.5
   Compiling encoding-index-singlebyte v1.20141219.5
   Compiling encoding-index-tradchinese v1.20141219.5
   Compiling encoding-index-simpchinese v1.20141219.5
   Compiling encoding-index-korean v1.20141219.5
   Compiling encoding v0.2.33
   Compiling gettext-ng v0.4.1
   Compiling hello_world2 v0.1.0 (/home/developer/rust/hello_world2)
error: linking with `/home/developer//osxcross/target/bin/x86_64-apple-darwin15-clang` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/developer/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:~./local/bin:" VSLANG="1033" ZERO_AR_DATE="1" "/home/developer//osxcross/target/bin/x86_64-apple-darwin15-clang" "-arch" "x86_64" "-m64" "/tmp/rustcsDDR2Y/symbols.o" "/home/developer/rust/hello_world2/target/x86_64-apple-darwin/release/deps/hello_world2-bcf460cdf532cd40.hello_world2.a04afd170f109888-cgu.0.rcgu.o" "-L" "/home/developer/rust/hello_world2/target/x86_64-apple-darwin/release/deps" "-L" "/home/developer/rust/hello_world2/target/release/deps" "-L" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-apple-darwin/lib" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-950dfa4358313a7f.rlib" "-framework" "CoreFoundation" "-lSystem" "-lc" "-lm" "-L" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/home/developer/rust/hello_world2/target/x86_64-apple-darwin/release/deps/hello_world2-bcf460cdf532cd40" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: /usr/bin/ld: unrecognized option '-dynamic'
          /usr/bin/ld: use the --help option for usage information
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `hello_world2` (bin "hello_world2") due to previous error

what did I wrong ?

ds2k5 commented 1 year ago

If I disable strip in Cargo.toml

[profile.release] opt-level = 'z' # Optimize for size lto = true # Enable link-time optimization codegen-units = 1 # Reduce number of codegen units to increase optimizations panic = 'abort' # Abort on panic **strip = false # Strip symbols from binary***

~/.cargo/config.toml

[target.x86_64-apple-darwin] linker = "/home/developer/osxcross/target/bin/x86_64-apple-darwin19-osxcross"

then the build works without error.... but did not get a BINARY file

:~/rust/hello_world2/target/x86_64-apple-darwin/release$ ls -lathr
total 32K
drwxr-xr-x  2 developer developer 4.0K Sep 15 08:05 incremental
drwxr-xr-x 15 developer developer 4.0K Sep 15 08:05 .fingerprint
drwxr-xr-x  2 developer developer 4.0K Sep 15 08:05 examples
-rw-r--r--  1 developer developer    0 Sep 15 08:05 .cargo-lock
drwxr-xr-x  3 developer developer 4.0K Sep 15 08:05 build
drwxr-xr-x  3 developer developer 4.0K Sep 15 08:05 ..
drwxr-xr-x  2 developer developer 4.0K Sep 15 08:05 deps
-rw-r--r--  1 developer developer  129 Sep 15 08:05 hello_world2.d
drwxr-xr-x  7 developer developer 4.0K Sep 15 08:05 .
ds2k5 commented 1 year ago

ok solution was to build gcc

./build_gcc.sh

~/.cargo/config.toml [target.x86_64-apple-darwin] linker = "/home/developer/osxcross/target/bin/o64-gcc"

ds2k5 commented 1 year ago

@sztomi

could you explain how to build gcc for aarch64 on Linux x86_64 please ? got only the: ../osxcross/target/bin/o64-gcc

that I can build aarch64-apple-darwin too

or the: aarch64-apple-darwin21.1-clang

thanks

lmtr0 commented 1 year ago

Hello there! lets go first with your configuration file :)

[target.x86_64-apple-darwin]
ar = "/home/developer/osxcross/target/bin/..." # I known there is a ar here somewhere, you might wanna try using it
linker = "/home/developer/osxcross/target/bin/o64-clang" # it's better to use this one as I found issues trying to use the extended name (don't known why tho)

# In my tests, leaving the profile configuration as default worked better than trying to mess with it

In your first error:


  Compiling encoding_index_tests v0.1.4
   Compiling byteorder v1.4.3
   Compiling sys-locale v0.3.1
   Compiling current_platform v0.2.0
   Compiling encoding-index-japanese v1.20141219.5
   Compiling encoding-index-singlebyte v1.20141219.5
   Compiling encoding-index-tradchinese v1.20141219.5
   Compiling encoding-index-simpchinese v1.20141219.5
   Compiling encoding-index-korean v1.20141219.5
   Compiling encoding v0.2.33
   Compiling gettext-ng v0.4.1
   Compiling hello_world2 v0.1.0 (/home/developer/rust/hello_world2)
error: linking with `/home/developer//osxcross/target/bin/x86_64-apple-darwin15-clang` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/developer/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:~./local/bin:" VSLANG="1033" ZERO_AR_DATE="1" "/home/developer//osxcross/target/bin/x86_64-apple-darwin15-clang" "-arch" "x86_64" "-m64" "/tmp/rustcsDDR2Y/symbols.o" "/home/developer/rust/hello_world2/target/x86_64-apple-darwin/release/deps/hello_world2-bcf460cdf532cd40.hello_world2.a04afd170f109888-cgu.0.rcgu.o" "-L" "/home/developer/rust/hello_world2/target/x86_64-apple-darwin/release/deps" "-L" "/home/developer/rust/hello_world2/target/release/deps" "-L" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-apple-darwin/lib" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-950dfa4358313a7f.rlib" "-framework" "CoreFoundation" "-lSystem" "-lc" "-lm" "-L" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/home/developer/rust/hello_world2/target/x86_64-apple-darwin/release/deps/hello_world2-bcf460cdf532cd40" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: /usr/bin/ld: unrecognized option '-dynamic'
          /usr/bin/ld: use the --help option for usage information
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `hello_world2` (bin "hello_world2") due to previous error

It's trying to use ld, which in linux doesn't have -dynamic flag, I think this solves itself once you change the ar configuration in the config.toml

ALSO: out of curiosity, why are you trying to compile rust's source code? They already provide binaries for apple's systems

Recommendation! Take a look at https://github.com/cross-rs/cross for cross compilation, they did a pretty nice job there

lmtr0 commented 1 year ago

can you maybe share your source code in a gists so that I can take a look at it?

sztomi commented 1 year ago

@lmtr0 Good advice, I did exactly as you suggest (in .cargo/config.toml):

[target.x86_64-apple-darwin]
linker = "x86_64-apple-darwin21.2-clang"
ar = "x86_64-apple-darwin21.2-ar"

@ds2k5

^ so you need to set both the linker and ar.

could you explain how to build gcc for aarch64 on Linux x86_64 please

It's not fun and you are almost certainly better off building clang if you are targeting macOS. Otherwise with gcc, you will have to have one toolchain per target. I suggest either using something like ct-ng to build it or fetch a prebuilt one from toolchains.bootlin.com.

ds2k5 commented 1 year ago

@sztomi

thanks

tryed binary files from toolchains.bootlin.com

but did not work for me

error: linking with /home/developer/aarch64--glibc--stable-2023.08-1/bin/aarch64-buildroot-linux-gnu-gcc-12.3.0.br_real failed: exit status: 1 | = note: LC_ALL="C" PATH="/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/developer/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:~./local/bin:" VSLANG="1033" ZERO_AR_DATE="1" "/home/developer/aarch64--glibc--stable-2023.08-1/bin/aarch64-buildroot-linux-gnu-gcc-12.3.0.br_real" "-arch" "arm64" "/tmp/rustc7Opz6S/symbols.o" "/home/developer/rust/hello_world2/target/aarch64-apple-darwin/release/deps/hello_world2-d33a06cdd8d57ba3.hello_world2.28778e0748f42245-cgu.0.rcgu.o" "-L" "/home/developer/rust/hello_world2/target/aarch64-apple-darwin/release/deps" "-L" "/home/developer/rust/hello_world2/target/release/deps" "-L" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-apple-darwin/lib" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins-02876b9130340342.rlib" "-framework" "CoreFoundation" "-lSystem" "-lc" "-lm" "-L" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-apple-darwin/lib" "-o" "/home/developer/rust/hello_world2/target/aarch64-apple-darwin/release/deps/hello_world2-d33a06cdd8d57ba3" "-Wl,-dead_strip" "-nodefaultlibs" = note: aarch64-buildroot-linux-gnu-gcc-12.3.0.br_real: error: unrecognized command-line option '-arch'; did you mean '-march='? aarch64-buildroot-linux-gnu-gcc-12.3.0.br_real: error: unrecognized command-line option '-framework'

error: could not compile hello_world2 (bin "hello_world2") due to previous error

where did you get the binary files: x86_64-apple-darwin21.2-clang x86_64-apple-darwin21.2-ar ?

when running: build_apple_clang.sh got only: osxcross/build/clang-17/build_stage1/bin/clang-17

sztomi commented 1 year ago

where did you get the binary files: x86_64-apple-darwin21.2-clang x86_64-apple-darwin21.2-ar

https://github.com/tpoechtrager/osxcross

lmtr0 commented 1 year ago

OK, I think there has been a misunderstanding on how the cross compilation works. Let me try to explain it: You need to go to https://github.com/tpoechtrager/osxcross and follo https://github.com/tpoechtrager/osxcross#installation YOU DO NOT NEED TO BUILD CLANG ONLY RUNNING ./build.sh is enough. I get my packaged MACOS SDKS from https://github.com/phracker/MacOSX-SDKs/releases/

After successfully building your toolchain, you must locate your binaries (If I remember correctly they should be inside a target folder. make records of the necessary ar and clang executables. The build step will declare where the binaries are

Now the most important part: inside ~/.cargo/config:

[target.x86_64-apple-darwin]
linker = "{THE PATH YOU RECORDED}/x86_64-apple-darwin{something}-clang"
ar = "{THE PATH YOU RECORDED}/x86_64-apple-darwin{something}-ar"

[target.aarch64-apple-darwin]
linker = "{THE PATH YOU RECORDED}/aarch64-apple-darwin{something}-clang"
ar = "{THE PATH YOU RECORDED}/aarch64-apple-darwin{something}-ar"

as pointed out in the start of the discussion

The reason why @ds2k5 build didn't work is that you are trying to build a macos binary with a linux compiler, That will not work.

now running cargo build --target x86_64-apple-darwin or cargo build --target aarch64-apple-darwin should build your executable

ds2k5 commented 1 year ago

hi thanks

when using MacOSX10.15.sdk.tar.xz (sorry not MacOSX10.1.5.sdk.tar.xz )

and run ./build.sh

got this error:


Given SDK does not contain libc++ headers (-stdlib=libc++ test may fail)
You may want to re-package your SDK using 'tools/gen_sdk_package.sh' on macOS

testing x86_64-apple-darwin19-clang++ -stdlib=libc++ -std=c++11 ... failed (ignored)

testing x86_64h-apple-darwin19-clang ... osxcross: error: cannot find libc++ headers
osxcross: error: while detecting target
failed (ignored)
testing x86_64h-apple-darwin19-clang++ ... osxcross: error: cannot find libc++ headers
osxcross: error: while detecting target
failed (ignored)

testing x86_64-apple-darwin19-clang ... osxcross: error: cannot find libc++ headers
osxcross: error: while detecting target

exiting with abnormal exit code (1)
lmtr0 commented 1 year ago

Hmm, can you try other sdks?

lmtr0 commented 1 year ago

I use version 11.3

ds2k5 commented 1 year ago

Hmm, can you try other sdks?

sure I did in the past.... 10.12 works .... but there is no aarch64-apple-darwin{something}-clang after the build is done

ds2k5 commented 1 year ago

I use version 11.3

Ok will try

ds2k5 commented 1 year ago

there is no aarch-apple-darwin*-clang after run ./build.sh with MacOSX10.13.sdk.tar.xz in tarballs dir

developer@w541:~/osxcross/target/bin$ ls -la *clang
lrwxrwxrwx 1 developer developer 29 Sep 18 15:45 i386-apple-darwin17-clang -> x86_64-apple-darwin17-wrapper
lrwxrwxrwx 1 developer developer 29 Sep 18 15:45 o32-clang -> x86_64-apple-darwin17-wrapper
lrwxrwxrwx 1 developer developer 29 Sep 18 15:45 o64-clang -> x86_64-apple-darwin17-wrapper
lrwxrwxrwx 1 developer developer 29 Sep 18 15:45 o64h-clang -> x86_64-apple-darwin17-wrapper
lrwxrwxrwx 1 developer developer 29 Sep 18 15:45 x86_64-apple-darwin17-clang -> x86_64-apple-darwin17-wrapper
lrwxrwxrwx 1 developer developer 29 Sep 18 15:34 x86_64-apple-darwin19-clang -> x86_64-apple-darwin19-wrapper
lrwxrwxrwx 1 developer developer 29 Sep 18 15:45 x86_64h-apple-darwin17-clang -> x86_64-apple-darwin17-wrapper
lrwxrwxrwx 1 developer developer 29 Sep 18 15:34 x86_64h-apple-darwin19-clang -> x86_64-apple-darwin19-wrapper
ds2k5 commented 1 year ago

I am sorry..... did not expand so I did't see the: https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.3.sdk.tar.xz

will build again

lmtr0 commented 1 year ago

Ok. FYI @ds2k5, the osxcross github states

arm64 requires macOS 11.0 SDK (or later).

ds2k5 commented 1 year ago

Thanks a lot - and sorry for my fault

lrwxrwxrwx 1 developer developer 31 Sep 18 15:57 aarch64-apple-darwin20.4-clang -> x86_64-apple-darwin20.4-wrapper developer@w541:~/osxcross/target/bin$ ls -la aarch64-apple-darwin20.4-ar lrwxrwxrwx 1 developer developer 28 Sep 18 15:57 aarch64-apple-darwin20.4-ar -> ./x86_64-apple-darwin20.4-ar

But building did not work:

cargo build --target aarch64-apple-darwin --release Compiling hello_world2 v0.1.0 (/home/developer/rust/hello_world2) error: linking with /home/developer/osxcross/target/bin/aarch64-apple-darwin20.4-clang failed: exit status: 1 | = note: LC_ALL="C" PATH="/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/developer/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:~./local/bin:" VSLANG="1033" ZERO_AR_DATE="1" "/home/developer/osxcross/target/bin/aarch64-apple-darwin20.4-clang" "-arch" "arm64" "/tmp/rustciBXUKH/symbols.o" "/home/developer/rust/hello_world2/target/aarch64-apple-darwin/release/deps/hello_world2-d33a06cdd8d57ba3.hello_world2.28778e0748f42245-cgu.0.rcgu.o" "-L" "/home/developer/rust/hello_world2/target/aarch64-apple-darwin/release/deps" "-L" "/home/developer/rust/hello_world2/target/release/deps" "-L" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-apple-darwin/lib" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins-02876b9130340342.rlib" "-framework" "CoreFoundation" "-lSystem" "-lc" "-lm" "-L" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-apple-darwin/lib" "-o" "/home/developer/rust/hello_world2/target/aarch64-apple-darwin/release/deps/hello_world2-d33a06cdd8d57ba3" "-Wl,-dead_strip" "-nodefaultlibs" = note: /usr/bin/ld: unrecognized option '-dynamic' /usr/bin/ld: use the --help option for usage information clang: error: linker command failed with exit code 1 (use -v to see invocation)

~/.cargo/config.toml

[target.aarch64-apple-darwin]
linker = "/home/developer/osxcross/target/bin/aarch64-apple-darwin20.4-clang"
ar = "/home/developer/osxcross/target/bin/aarch64-apple-darwin20.4-ar"
lmtr0 commented 1 year ago

Did you run cargo clean and then cargo run?

ds2k5 commented 1 year ago

Did you run cargo clean and then cargo run?

yes

developer@w541:~/rust/hello_world2$ cargo clean 
developer@w541:~/rust/hello_world2$ cargo run --target aarch64-apple-darwin --release
warning: unused manifest key: profile.release.pre-build
   Compiling encoding_index_tests v0.1.4
   Compiling current_platform v0.2.0
   Compiling byteorder v1.4.3
   Compiling sys-locale v0.3.1
   Compiling encoding-index-singlebyte v1.20141219.5
   Compiling encoding-index-tradchinese v1.20141219.5
   Compiling encoding-index-japanese v1.20141219.5
   Compiling encoding-index-simpchinese v1.20141219.5
   Compiling encoding-index-korean v1.20141219.5
   Compiling encoding v0.2.33
   Compiling gettext-ng v0.4.1
   Compiling hello_world2 v0.1.0 (/home/developer/rust/hello_world2)
error: linking with `/home/developer/osxcross/target/bin/aarch64-apple-darwin20.4-clang` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/developer/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:~./local/bin:" VSLANG="1033" ZERO_AR_DATE="1" "/home/developer/osxcross/target/bin/aarch64-apple-darwin20.4-clang" "-arch" "arm64" "/tmp/rustcBAbV3T/symbols.o" "/home/developer/rust/hello_world2/target/aarch64-apple-darwin/release/deps/hello_world2-d33a06cdd8d57ba3.hello_world2.28778e0748f42245-cgu.0.rcgu.o" "-L" "/home/developer/rust/hello_world2/target/aarch64-apple-darwin/release/deps" "-L" "/home/developer/rust/hello_world2/target/release/deps" "-L" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-apple-darwin/lib" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins-02876b9130340342.rlib" "-framework" "CoreFoundation" "-lSystem" "-lc" "-lm" "-L" "/home/developer/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-apple-darwin/lib" "-o" "/home/developer/rust/hello_world2/target/aarch64-apple-darwin/release/deps/hello_world2-d33a06cdd8d57ba3" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: /usr/bin/ld: unrecognized option '-dynamic'
          /usr/bin/ld: use the --help option for usage information
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `hello_world2` (bin "hello_world2") due to previous error
lmtr0 commented 1 year ago

Do you have lld installed?

ds2k5 commented 1 year ago

Do you have lld installed?

yes

developer@w541:~/rust/hello_world2$ dpkg -l | grep lld
ii  lld:amd64                                             1:14.0-55.6                             amd64        LLVM-based linker
ii  lld-14                                                1:14.0.6-12                             amd64        LLVM-based linker
ii  lld-15                                                1:15.0.6-4+b1                           amd64        LLVM-based linker