Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure to compile to armv7-apple-ios #312

Closed
kali opened this issue Oct 9, 2016 · 12 comments
Closed

Failure to compile to armv7-apple-ios #312

kali opened this issue Oct 9, 2016 · 12 comments
Milestone

Comments

@kali
Copy link
Contributor

kali commented Oct 9, 2016

09/10 17:19 ~/dev/github/ring% cargo build --target armv7-apple-ios
    Updating registry `https://github.com/rust-lang/crates.io-index`
   Compiling untrusted v0.3.1
   Compiling lazy_static v0.2.1
   Compiling ring v0.5.0 (file:///Users/kali/dev/github/ring)
error: failed to run custom build command for `ring v0.5.0 (file:///Users/kali/dev/github/ring)`
process didn't exit successfully: `/Users/kali/dev/github/ring/target/debug/build/ring-37a82af6fea74baf/build-script-build` (exit code: 101)
--- stdout
TERM_SESSION_ID: w1t0p6:699FB7AB-BFD7-47FB-AA30-D72DF74A3C26
SSH_AUTH_SOCK: /private/tmp/com.apple.launchd.UVpt0B4QXy/Listeners
Apple_PubSub_Socket_Render: /private/tmp/com.apple.launchd.iaT6FDDz32/Render
COLORFGBG: 7;0
ITERM_PROFILE: Default
XPC_FLAGS: 0x0
LANG: en_US.UTF-8
PWD: /Users/kali/dev/github/ring
SHELL: /bin/zsh
TERM_PROGRAM_VERSION: 3.0.10
TERM_PROGRAM: iTerm.app
PATH: /Users/kali/.nvm/versions/node/v4.1.1/bin:/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:/Users/kali/.cargo/bin:/Users/kali/bin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/go/bin:/bin:/usr/local/go/bin/:/Users/kali/.cargo/bin:/Users/kali/.multirust/toolchains/stable-x86_64-apple-darwin/bin
DISPLAY: /private/tmp/com.apple.launchd.u14lnc9vED/org.macosforge.xquartz:0
TERM: xterm-color
HOME: /Users/kali
TMPDIR: /var/folders/l7/krbwjx3j0f92qvw_1_xj_vxc0000gn/T/
USER: kali
XPC_SERVICE_NAME: 0
LOGNAME: kali
ITERM_SESSION_ID: w1t0p6:699FB7AB-BFD7-47FB-AA30-D72DF74A3C26
__CF_USER_TEXT_ENCODING: 0x1F5:0x0:0x1
SHLVL: 1
OLDPWD: /Users/kali/dev/github
LESSCHARSET: utf-8
VISUAL: vi
EDITOR: vi
PS1: %{%}%D{%d/%m}%{%} %{%}%T%{%} %{%}%~%{%}%#%{%}
PS2: >
HISTORY: 100
SAVEHIST: 40
HISTFILE: /Users/kali/.history
JAVAHOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
MANPATH: /Users/kali/.nvm/versions/node/v4.1.1/share/man::/usr/local/man:/opt/local/man:/opt/local/share/man
LS_COLORS: no=00:fi=00:di=01;32:ln=00;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:ex=01;31:*.conf=01;33:*.pid=01;33:*.cmd=01;31:*.exe=01;31:*.com=01;31:*.btm=01;31:*.bat=01;31:*.tar=01;33:*.tgz=01;33:*.arj=01;33:*.taz=01;33:*.lzh=01;33:*.LZH=01;33:*.zip=01;33:*.ZIP=01;33:*.z=01;33:*.Z=01;33:*.gz=01;33:*.rar=01;33:*.RAR=01;33:*.jpg=01;35:*.JPG=01;35:*.gif=01;35:*.png=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tga=01;35:*.avi=01;35:*.mpg=01;35:*.MPG=01;35:*.pcx=01;35:*.PCX=01;35:*.au=00;32:*.wav=00;32:*.WAV=00;32:*.mid=00;32:*.mod=00;32:*.s3m=00;32:*.mp2=00;32:*.mp3=00;32:*.MP3=00;32:
AZ:
GOPATH: /Users/kali/.gopath
RUST_SRC_PATH: /Users/kali/dev/github/rust/src
ITERM_SHELL_INTEGRATION_INSTALLED: Yes
NVM_DIR: /Users/kali/.nvm
NVM_CD_FLAGS: -q
NVM_NODEJS_ORG_MIRROR: https://nodejs.org/dist
NVM_IOJS_ORG_MIRROR: https://iojs.org/dist
NVM_PATH: /Users/kali/.nvm/versions/node/v4.1.1/lib/node
NVM_BIN: /Users/kali/.nvm/versions/node/v4.1.1/bin
INFRASTRUCTURE_DIR: /Users/kali/dev/snips/infrastructure
MICROSERVICES_DIR: /Users/kali/dev/snips/infrastructure/microservices
FLASK_KIT_DIR: /Users/kali/dev/snips/infrastructure/microservices/flask-kit
MICROSERVICES_MAKEFILES_DIR: /Users/kali/dev/snips/infrastructure/microservices/makefiles
NPM_LIB_DIR: /Users/kali/dev/snips/infrastructure/microservices/npm-lib
TEMPLATES_DIR: /Users/kali/dev/snips/infrastructure/microservices/templates
PYTHON_LIB_DIR: /Users/kali/dev/snips/infrastructure/src/python-lib
OPENSSL_INCLUDE_DIR: /usr/local/opt/openssl/include
OPENSSL_LIB_DIR: /usr/local/opt/openssl/lib
_: /Users/kali/.cargo/bin/cargo
DYLD_LIBRARY_PATH: /Users/kali/.multirust/toolchains/stable-x86_64-apple-darwin/lib:/Users/kali/dev/github/ring/target/debug/deps
CARGO_HOME: /Users/kali/.cargo
RUST_RECURSION_COUNT: 1
RUSTUP_TOOLCHAIN: stable-x86_64-apple-darwin
RUSTUP_HOME: /Users/kali/.multirust
CARGO_PKG_VERSION_PATCH: 0
RUSTC: rustc
PROFILE: debug
CARGO_FEATURE_DEFAULT: 1
CARGO_PKG_VERSION_PRE:
CARGO_PKG_VERSION: 0.5.0
CARGO_PKG_DESCRIPTION: Safe, fast, small crypto using Rust.
OPT_LEVEL: 0
RUSTDOC: rustdoc
TARGET: armv7-apple-ios
CARGO_PKG_VERSION_MAJOR: 0
DEBUG: true
CARGO_PKG_AUTHORS: Brian Smith <brian@briansmith.org>
CARGO_PKG_NAME: ring
CARGO_PKG_HOMEPAGE:
CARGO_FEATURE_DEV_URANDOM_FALLBACK: 1
CARGO_PKG_VERSION_MINOR: 5
OUT_DIR: /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out
HOST: x86_64-apple-darwin
CARGO_MANIFEST_DIR: /Users/kali/dev/github/ring
NUM_JOBS: 8
CARGO_FEATURE_USE_HEAP: 1
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/lib
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/aes
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/aes/asm
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/asm
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/chacha/asm
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/cipher
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/curve25519
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/curve25519/asm
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/ec
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/ec/asm
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/modes
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/modes/asm
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/poly1305
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/poly1305/asm
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/rand
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/rsa
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/sha/asm
mkdir -p /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/test
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/aes/aes.o crypto/aes/aes.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/add.o crypto/bn/add.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/bn.o crypto/bn/bn.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/cmp.o crypto/bn/cmp.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/convert.o crypto/bn/convert.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/div.o crypto/bn/div.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/exponentiation.o crypto/bn/exponentiation.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/gcd.o crypto/bn/gcd.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/generic.o crypto/bn/generic.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/montgomery.o crypto/bn/montgomery.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/montgomery_inv.o crypto/bn/montgomery_inv.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/mul.o crypto/bn/mul.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/random.o crypto/bn/random.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/rsaz_exp.o crypto/bn/rsaz_exp.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/shift.o crypto/bn/shift.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/cipher/e_aes.o crypto/cipher/e_aes.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/crypto.o crypto/crypto.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/curve25519/curve25519.o crypto/curve25519/curve25519.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/ec/ecp_nistz.o crypto/ec/ecp_nistz.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/ec/ecp_nistz256.o crypto/ec/ecp_nistz256.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/ec/gfp_constant_time.o crypto/ec/gfp_constant_time.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/ec/gfp_p256.o crypto/ec/gfp_p256.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/ec/gfp_p384.o crypto/ec/gfp_p384.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/ec/wnaf.o crypto/ec/wnaf.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/mem.o crypto/mem.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/modes/gcm.o crypto/modes/gcm.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/poly1305/poly1305.o crypto/poly1305/poly1305.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/rand/sysrand.o crypto/rand/sysrand.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/rsa/blinding.o crypto/rsa/blinding.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/rsa/rsa.o crypto/rsa/rsa.c
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/rsa/rsa_impl.o crypto/rsa/rsa_impl.c
perl crypto/aes/asm/aes-armv4.pl ios32  /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/aes/asm/aes-armv4.S
perl crypto/aes/asm/bsaes-armv7.pl ios32  /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/aes/asm/bsaes-armv7.S
perl crypto/bn/asm/armv4-mont.pl ios32  /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/asm/armv4-mont.S
perl crypto/chacha/asm/chacha-armv4.pl ios32  /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/chacha/asm/chacha-armv4.S
cc -std=c1x -arch armv7  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -mios-version-min=7.0 -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/curve25519/asm/x25519-asm-arm.o crypto/curve25519/asm/x25519-asm-arm.S
perl crypto/ec/asm/ecp_nistz256-armv4.pl ios32  /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/ec/asm/ecp_nistz256-armv4.S
perl crypto/modes/asm/ghash-armv4.pl ios32  /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/modes/asm/ghash-armv4.S
perl crypto/poly1305/asm/poly1305-armv4.pl ios32  /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/poly1305/asm/poly1305-armv4.S
perl crypto/sha/asm/sha256-armv4.pl ios32  /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/sha/asm/sha256-armv4.S
perl crypto/sha/asm/sha512-armv4.pl ios32  /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/sha/asm/sha512-armv4.S
rm /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/poly1305/asm/poly1305-armv4.S /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/ec/asm/ecp_nistz256-armv4.S /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/modes/asm/ghash-armv4.S /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/aes/asm/bsaes-armv7.S /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/sha/asm/sha256-armv4.S /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/bn/asm/armv4-mont.S /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/aes/asm/aes-armv4.S /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/sha/asm/sha512-armv4.S /Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/chacha/asm/chacha-armv4.S

--- stderr
crypto/curve25519/asm/x25519-asm-arm.S:23:1: error: unknown directive
.fpu neon
^
crypto/curve25519/asm/x25519-asm-arm.S:28:1: error: unknown directive
.hidden GFp_x25519_NEON
^
crypto/curve25519/asm/x25519-asm-arm.S:29:1: error: unknown directive
.type GFp_x25519_NEON, %function
^
make: *** [/Users/kali/dev/github/ring/target/armv7-apple-ios/debug/build/ring-37a82af6fea74baf/out/obj/crypto/curve25519/asm/x25519-asm-arm.o] Error 1
make: *** Waiting for unfinished jobs....
thread 'main' panicked at 'make execution failed', build.rs:210
note: Run with `RUST_BACKTRACE=1` for a backtrace.

[1]    76375 exit 101   cargo build --target armv7-apple-ios
@briansmith
Copy link
Owner

See also #184.

For this specific issue, we can probably use some #ifdef logic to just use the C implementation on iOS targets.

@kali kali mentioned this issue Oct 17, 2016
@briansmith
Copy link
Owner

Fixed by #315. Thanks!

@kali
Copy link
Contributor Author

kali commented Dec 17, 2016

All right. So this is still not building. I must admit I don't understand what lead me thing it was building at the time of the #315 PR. Something may have changed in XCode side, but most likely I was just confused.

So. The issue is still here, and exactly the same. My understanding is that x25519-asm-arm.S uses gcc/gas directives and so compiles well with the android toolchain, but clang choke on it.

As far as I can tell, it's the only file we have in this form in the code, others are generated from perl scripts.

@briansmith
Copy link
Owner

[Note: I currently don't have a working Mac to develop changes to fix this issue, so contributions from others are highly encouraged.]

Background information: Clang's integrated assembler doesn't support everything that gas supports. Recently the Chromium project has motivated a lot of improvements in this area that are relevant to ring since ring uses the same assembly code as BoringSSL, which is a component of Chromium.

Can you try the newest version of Apple's iOS toolchain that you can reasonably use in production to see if it has incorporated the aforementioned clang fixes?

Clang's assembler added .fpu neon support here:

If I understand your pull request #315, we pass -mfpu=neon on the command line for iOS builds, maybe we can just delete the .fpu neon line? Or better maybe we can bracket that in #if !defined(__ARM_NEON)? Or maybe we can add -Wa,-mfpu=neon to ASFLAGS for all ARMv7 targets, regardless of OS (in addition to adding it to CPPFLAGS for iOS only, as was already done). (Note: It seems any version of Clang for which -Wa,-mfpu=neon would work would also support .fpu neon already; see https://llvm.org/bugs/show_bug.cgi?id=20700).

crypto/perlasm/arm-xlate.pl implies that we need to use .private_extern instead of .hidden on iOS. Maybe some #if hackery is needed.

Similarly, crypto/perlasm/arm-xlate.pl contains this:

my $type = sub {
    if ($flavour =~ /linux/)	{ ".type\t".join(',',@_); }
    elsif ($flavour =~ /ios32/)	{ if (join(',',@_) =~ /(\w+),%function/) {
					"#ifdef __thumb2__\n".
					".thumb_func	$1\n".
					"#endif";
				  }
			        }
    else			{ ""; }
};

Presumably we need to do a similar substitution for the .type directives.

@kali
Copy link
Contributor Author

kali commented Jan 23, 2017

All right, here are some findings. I'm running current/latest xcode version.

Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

So, first, I think part of the problem is that crypto/curve25519/asm/x25519-asm-arm.S is a special case: it is not generated by the perlasm machinery. Is it intended ? Or is it something that should be fixed ?

Then, as far as I can tell, I could not find any combination of options that would make clang accept a .s input with .fpu neon. So I'm not sure about the hint in the LLVM discussion (https://llvm.org/bugs/show_bug.cgi?id=20700) Could it be something Apple chose not to include in its clang version ?

23/01 14:25 ~/dev/github/ring% cat fpu.s
.fpu neon
    vadd.f32 q0, q0, q3
23/01 14:27 ~/dev/github/ring% clang -shared -arch armv7 -o fpu.o fpu.s
fpu.s:1:1: error: unknown directive
.fpu neon
^
[1]    5016 exit 1     clang -shared -arch armv7 -o fpu.o fpu.s
23/01 14:27 ~/dev/github/ring% clang -shared -arch armv7 -Wa,-mfpu=neon -o fpu.o fpu.s
fpu.s:1:1: error: unknown directive
.fpu neon
^
[1]    5037 exit 1     clang -shared -arch armv7 -Wa,-mfpu=neon -o fpu.o fpu.s

I also tried to compile the vadd.f32 q0, q0, q3 alone, without the .fpu neon directive. It works with or withoug the -Wa,-mfpu=neon. Disassembly of the result gives the same result (that is, back to vadd.f32 q0, q0, q3).

23/01 14:56 ~/dev/github/ring% clang -arch armv7 -Wa,-mfpu=neon fpu.s -o fpu.o -shared
ld: warning: ignoring file /usr/lib/libSystem.dylib, missing required architecture armv7 in file /usr/lib/libSystem.dylib (2 slices)
23/01 14:57 ~/dev/github/ring% clang -arch armv7 fpu.s -o fpu2.o -shared
ld: warning: ignoring file /usr/lib/libSystem.dylib, missing required architecture armv7 in file /usr/lib/libSystem.dylib (2 slices)
23/01 14:57 ~/dev/github/ring% cmp fpu.o fpu2.o
fpu.o fpu2.o differ: char 236, line 2
23/01 14:57 ~/dev/github/ring% otool -tdv fpu.o                                                                 masterU
fpu.o:
00000ffc	46 0d 00 f2 	vadd.f32	q0, q0, q3
23/01 14:58 ~/dev/github/ring% otool -tdv fpu2.o                                                                masterU
fpu2.o:
00000ffc	46 0d 00 f2 	vadd.f32	q0, q0, q3

My best assumption at this point is that Apple decided to enable neon support all the time (as their devices all have it). They ignore the command line switch, and just choke on the directive.

@briansmith
Copy link
Owner

I think part of the problem is that crypto/curve25519/asm/x25519-asm-arm.S is a special case: it is not generated by the perlasm machinery. Is it intended ? Or is it something that should be fixed ?

Yes, that's probably why only this file has the problem. No, we shouldn't make it PerlAsm just to solve this problem. There are other non-PerlAsm assembly language sources in ring and BoringSSL for other platforms, and we want to keep this in sync with the upstream.

My best assumption at this point is that Apple decided to enable neon support all the time (as their devices all have it).

It seems then that we can just use #if !defined(__APPLE__) ... #else ... #endif (to solve this problem. In particular, put all the directives that Apple's assembler chokes on in the !defined(__APPLE__) section, and put the alternatives that PerlAsm uses in the #else section. Could you try that?

Thanks for your help with this!

@kali
Copy link
Contributor Author

kali commented Jan 23, 2017

I'm glad to help, it's just... I may be a bit over my head around here :)

Anyway. Progress. I managed to get the thing to compile AND link its tests. Here is what I had to change. I used whatever I could grab from perlasm as you suggest, but had to add leading underscore to symbols, and transform ldr ops into mov as mentioned here: https://llvm.org/bugs/show_bug.cgi?id=25722. Also, I had to throw in a GFp_cpuid_setup and did not think twice about where to do it.

diff --git a/crypto/cpu-arm.c b/crypto/cpu-arm.c
index c364348..3e2b759 100644
--- a/crypto/cpu-arm.c
+++ b/crypto/cpu-arm.c
@@ -21,6 +21,9 @@


 extern uint32_t GFp_armcap_P;
+void GFp_cpuid_setup(void) {
+    GFp_armcap_P |= ARMV7_NEON;
+}

 char GFp_is_NEON_capable_at_runtime(void) {
   return (GFp_armcap_P & ARMV7_NEON) != 0;
diff --git a/crypto/curve25519/asm/x25519-asm-arm.S b/crypto/curve25519/asm/x25519-asm-arm.S
index c382202..3f7d268 100644
--- a/crypto/curve25519/asm/x25519-asm-arm.S
+++ b/crypto/curve25519/asm/x25519-asm-arm.S
@@ -20,14 +20,25 @@
 #if !defined(OPENSSL_NO_ASM)
 #if defined(__arm__)

+#if !defined(__APPLE__)
 .fpu neon
+#endif
 .text
 .align 4

 .global GFp_x25519_NEON
-.hidden GFp_x25519_NEON
-.type GFp_x25519_NEON, %function
-GFp_x25519_NEON:
+
+#if defined(__APPLE__)
+    .private_extern _GFp_x25519_NEON
+    #ifdef __thumb2__
+        .thumb_func _GFp_x25519_NEON
+    #endif
+#else
+    .hidden GFp_x25519_NEON
+    .type GFp_x25519_NEON, %function
+#endif
+
+_GFp_x25519_NEON:
 vpush {q4,q5,q6,q7}
 mov r12,sp
 sub sp,sp,#736
@@ -42,8 +53,13 @@ mov r0,r0
 mov r1,r1
 mov r2,r2
 add r3,sp,#32
-ldr r4,=0
-ldr r5,=254
+#if defined(__APPLE__)
+    mov r4, #0
+    mov r5, #254
+#else
+    ldr r4,=0
+    ldr r5,=254
+#endif
 vmov.i32 q0,#1
 vshr.u64 q1,q0,#7
 vshr.u64 q0,q0,#8
@@ -61,7 +77,11 @@ vst1.8 {d4-d5},[r6,: 128]!
 vst1.8 {d4-d5},[r6,: 128]!
 vst1.8 d4,[r6,: 64]
 add r6,r3,#0
-ldr r7,=960
+#if defined(__APPLE__)
+    mov r7, #960
+#else
+    ldr r7,=960
+#endif
 sub r7,r7,#2
 neg r7,r7
 sub r7,r7,r7,LSL #7
diff --git a/src/init.rs b/src/init.rs
index c4d470b..b2e476b 100644
--- a/src/init.rs
+++ b/src/init.rs
@@ -14,7 +14,7 @@

 #[inline(always)]
 pub fn init_once() {
-    #[cfg(not(all(target_arch = "aarch64", target_os = "ios")))]
+    #[cfg(not(all(target_os = "ios")))]
     {
         extern crate std;
         extern { fn GFp_cpuid_setup(); }
diff --git a/src/rand.rs b/src/rand.rs
index a4c0879..1d20d96 100644
--- a/src/rand.rs
+++ b/src/rand.rs
@@ -26,7 +26,6 @@
 //! documentation for more details.

 #[cfg(any(target_os = "linux",
-          target_os = "ios",
           windows,
           test))]
 use c;

This is obviously not intended as a PR, but feel free to have a look.

Many tests are failing. I'm using dinghy for testing, and it does not propagate the source files so any test trying to open a file fails miserably. I think I should probably fix that on dinghy side instead of rewritting half of the tests from ring (and from the whole rust ecosystem). I'll try to get that done quickly so we can move forward.

@briansmith
Copy link
Owner

Yes, that looks right to me. I'm not sure if all assemblers accept the indented directives so it would be better if they weren't indented.

I suggest that we do it this way:

  1. Split this into two commits: the GFp_cpuid_setup, and the actual changes to the asm.
  2. Undo the indenting of the indented directives.
  3. Submit the PR with these two changes and I'll just check it in on the assumption it works.
  4. I'll modify your PR to be workable for BoringSSL.
  5. I'll submit the modified PR to BoringSSL (giving you credit; Google may ask for you to sign a CLA; if you don't want to, that's OK; it just means they won't take the change).
  6. We can fix the testing situation on iOS separately.

WDYT?

@briansmith
Copy link
Owner

I forgot to mention: The benefit of submitting it to BoringSSL is that they probably have iOS testing infrastructure that works already, so they may be be able to test the code on iOS before we can.

@briansmith
Copy link
Owner

briansmith commented Jan 23, 2017

+#if defined(__APPLE__)
+    mov r7, #960
+#else
+    ldr r7,=960
+#endif

In these cases, I think we can always just use mov r7, #960, instead of having conditional logic. Is there any advantage to using ldr instead in the non-__APPLE__ case?

@kali
Copy link
Contributor Author

kali commented Jan 24, 2017

No objection with that plan.

@briansmith
Copy link
Owner

It is now building and tests are passing, but may not be 100% correct yet. It looks like the rest of the work is being tracked in #184 now, so closing this. Thanks for the awesome contributions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants