ring icon indicating copy to clipboard operation
ring copied to clipboard

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

Open sztomi opened this issue 3 years ago • 59 comments

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.

sztomi avatar Dec 20 '21 14:12 sztomi

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.

briansmith avatar Dec 20 '21 22:12 briansmith

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?

sztomi avatar Dec 21 '21 13:12 sztomi

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.

briansmith avatar Dec 21 '21 17:12 briansmith

~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 avatar Jan 04 '22 15:01 rnbguy

~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 avatar Jan 04 '22 16:01 rnbguy

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 .

rnbguy avatar Jan 04 '22 16:01 rnbguy

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

sztomi avatar Jan 11 '22 12:01 sztomi

@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.

rnbguy avatar Jan 12 '22 22:01 rnbguy

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 avatar Mar 11 '22 19:03 lmtr0

any ideas?

lmtr0 avatar Mar 11 '22 19:03 lmtr0

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?)

xrl avatar Oct 31 '22 19:10 xrl

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 avatar Oct 31 '22 19:10 lmtr0

"worked" could compile but didn't test it

lmtr0 avatar Oct 31 '22 19:10 lmtr0

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

sakibstark11 avatar Nov 03 '22 17:11 sakibstark11

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.

briansmith avatar Nov 03 '22 17:11 briansmith

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?

sakibstark11 avatar Nov 03 '22 17:11 sakibstark11

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.

briansmith avatar Nov 03 '22 18:11 briansmith

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

xrl avatar Nov 03 '22 18:11 xrl

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.

briansmith avatar Nov 03 '22 21:11 briansmith

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)

nefilim avatar Nov 17 '22 22:11 nefilim

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

lmtr0 avatar Nov 17 '22 23:11 lmtr0

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

nefilim avatar Nov 17 '22 23:11 nefilim

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

lmtr0 avatar Nov 17 '22 23:11 lmtr0

@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 ?

ds2k5 avatar Sep 13 '23 08:09 ds2k5

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.

lmtr0 avatar Sep 13 '23 12:09 lmtr0

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

sztomi avatar Sep 13 '23 14:09 sztomi

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

lmtr0 avatar Sep 14 '23 13:09 lmtr0

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 avatar Sep 15 '23 05:09 ds2k5

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 avatar Sep 15 '23 06:09 ds2k5

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 avatar Sep 15 '23 06:09 ds2k5