建筑使用NDK不作ARM4装配正确文件的Andr​​oid的OpenSSL [英] Building Android openssl using NDK doesn't make arm4 assembly files properly

查看:213
本文介绍了建筑使用NDK不作ARM4装配正确文件的Andr​​oid的OpenSSL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

OpenSSL是包含在Android操作系统,和谷歌也包括一些ARM4 / Thumb汇编code在其构建(AES / ASM / AES-armv4.s,BN / ASM / ARM版本,mont.s,SHA / ASM / SHA1-ARM版本-large.s,SHA /asm/sha256-armv4.s,SHA / ASM / SHA512-armv4.s)。我有 Android的OpenSSL的建筑 NDK建造但它只会建立正常的纯C aes_core.c,而不是ARM4文件。它甚至创建.o文件,但它找不到* .odorg文件,我不知道它们来自哪里。

openssl is included in the Android operating system, and Google also includes some arm4/thumb assembler code in their builds (aes/asm/aes-armv4.s, bn/asm/armv4-mont.s, sha/asm/sha1-armv4-large.s, sha/asm/sha256-armv4.s, sha/asm/sha512-armv4.s). I have the Android openssl building with ndk-build but it will only builds properly with the plain C aes_core.c, not the arm4 files. It even creates the .o files, but it can't find the *.o.d.org files, which I have no idea where they come from.

对此有何想法?

/usr/local/android-ndk/toolchains/arm-linux-androideabi-4.4.3/$p$pbuilt/darwin-x86/bin/arm-linux-androideabi-gcc -MMD -MP -MF /Users/hans/$c$c/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.odorg -fpic -ffunction截面-funwind -tables -fstack-保护-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi -march =的ARMv5TE -mtune =的XScale -msoft流通-mthumb -Os -fomit-frame-pointer的-fno严格走样-finline限制= 64 -I /用户/汉斯/ code / eighthave / OpenSSL的-机器人-I /用户/汉斯/ code / eighthave / OpenSSL的-的Andr​​oid /密码/ ASN 1 -I /用户/汉斯/ code / eighthave / OpenSSL的-的Andr​​oid /密码/执行副总裁-I /用户/汉斯/ code / eighthave / OpenSSL的-的Andr​​oid /包括-I /用户/汉斯/ code / eighthave / OpenSSL的-的Andr​​oid /有/ OpenSSL的-Iexternal / zlib的-I /用户/汉斯/ code / eighthave / OpenSSL的-的Andr​​oid /密码-DANDROID -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_CAST -DOPENSSL_NO_CMS -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_SHA0 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SEED -DOPENSSL_NO_STORE -DOPENSSL_NO_WHIRLPOOL -DOPENSSL_NO_HW -DOPENSSL_NO_ENGINE -DZLIB -DNO_WINDOWS_BRAINDEATH -DOPENSSL_BN_ASM_MONT -DAES_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -Wa, - noexecstack -O2 -DNDEBUG -g -I / USR /本地/ Android的NDK /平台/ Android为8 /弓臂/ usr / include目录-c /Users/hans/$c$c/eighthave/openssl-android/crypto/aes/asm/aes-armv4.s - Ø/Users/hans/$c$c/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.o和放大器;&安培; RM -f /Users/hans/$c$c/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.od和放大器;&安培; MV /Users/hans/$c$c/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.odorg /用户/汉斯/ code / eighthave / OpenSSL的-Android / OBJ /本地/ armeabi / OBJ文件/加密/ AES / ASM / AES-armv4.od MV:不能与stat `/Users/hans/$c$c/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.o.d.org':无此文件或目录 令: * 的[/Users/hans/$c$c/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.o]错误1

/usr/local/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-gcc -MMD -MP -MF /Users/hans/code/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.o.d.org -fpic -ffunction-sections -funwind-tables -fstack-protector -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -I/Users/hans/code/eighthave/openssl-android -I/Users/hans/code/eighthave/openssl-android/crypto/asn1 -I/Users/hans/code/eighthave/openssl-android/crypto/evp -I/Users/hans/code/eighthave/openssl-android/include -I/Users/hans/code/eighthave/openssl-android/include/openssl -Iexternal/zlib -I/Users/hans/code/eighthave/openssl-android/crypto -DANDROID -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_CAST -DOPENSSL_NO_CMS -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_SHA0 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SEED -DOPENSSL_NO_STORE -DOPENSSL_NO_WHIRLPOOL -DOPENSSL_NO_HW -DOPENSSL_NO_ENGINE -DZLIB -DNO_WINDOWS_BRAINDEATH -DOPENSSL_BN_ASM_MONT -DAES_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -Wa,--noexecstack -O2 -DNDEBUG -g -I/usr/local/android-ndk/platforms/android-8/arch-arm/usr/include -c /Users/hans/code/eighthave/openssl-android/crypto/aes/asm/aes-armv4.s -o /Users/hans/code/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.o && rm -f /Users/hans/code/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.o.d && mv /Users/hans/code/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.o.d.org /Users/hans/code/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.o.d mv: cannot stat `/Users/hans/code/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.o.d.org': No such file or directory make: * [/Users/hans/code/eighthave/openssl-android/obj/local/armeabi/objs/crypto/aes/asm/aes-armv4.o] Error 1

推荐答案

我有相同的问题,我要寻找一个解决办法。我使用这个版本来代替: https://github.com/fries/android-external-openssl

I have the exact same problem, and I am looking for a workaround. I am using this version instead: https://github.com/fries/android-external-openssl

我使用了Android NDK R5B

I am using the Android NDK r5b

这篇关于建筑使用NDK不作ARM4装配正确文件的Andr​​oid的OpenSSL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆