This seems like an odd result considering the BeagleBone Black processor is closer to a NEON. This particular BBB is running a Debian 8.2 based image.
I also believe CFLAGS should include hard-floats (i.e., -mfloat-abi=hard). Without it, entropy estimates for some of the RAND_ functions could produce incorrect results. ********** $ cat /etc/dogtag BeagleBoard.org Debian Image 2015-12-20 $ uname -a Linux beaglebone 4.1.13-ti-r36 #1 SMP PREEMPT Fri Dec 11 00:44:56 UTC 2015 armv7l GNU/Linux $ gcc --version gcc (Debian 4.9.2-10) 4.9.2 Copyright (C) 2014 Free Software Foundation, Inc. ********** $ cpp -dM < /dev/null | grep __ARM | sort #define __ARMEL__ 1 #define __ARM_32BIT_STATE 1 #define __ARM_ARCH 7 #define __ARM_ARCH_7A__ 1 #define __ARM_ARCH_ISA_ARM 1 #define __ARM_ARCH_ISA_THUMB 2 #define __ARM_ARCH_PROFILE 65 #define __ARM_EABI__ 1 #define __ARM_FEATURE_CLZ 1 #define __ARM_FEATURE_DSP 1 #define __ARM_FEATURE_LDREX 15 #define __ARM_FEATURE_QBIT 1 #define __ARM_FEATURE_SAT 1 #define __ARM_FEATURE_SIMD32 1 #define __ARM_FEATURE_UNALIGNED 1 #define __ARM_FP 12 #define __ARM_NEON_FP 4 #define __ARM_PCS_VFP 1 #define __ARM_SIZEOF_MINIMAL_ENUM 4 #define __ARM_SIZEOF_WCHAR_T 32 ********** $ cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 2 (v7l) BogoMIPS : 996.14 Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x3 CPU part : 0xc08 CPU revision : 2 Hardware : Generic AM33XX (Flattened Device Tree) Revision : 0000 Serial : ... ********** beaglebone:~/openssl-1.0.2e$ ./config Operating system: armv7l-whatever-linux2 Configuring for linux-armv4 Configuring for linux-armv4 no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir) no-gmp [default] OPENSSL_NO_GMP (skip dir) no-jpake [experimental] OPENSSL_NO_JPAKE (skip dir) no-krb5 [krb5-flavor not specified] OPENSSL_NO_KRB5 no-libunbound [experimental] OPENSSL_NO_LIBUNBOUND (skip dir) no-md2 [default] OPENSSL_NO_MD2 (skip dir) no-rc5 [default] OPENSSL_NO_RC5 (skip dir) no-rfc3779 [default] OPENSSL_NO_RFC3779 (skip dir) no-sctp [default] OPENSSL_NO_SCTP (skip dir) no-shared [default] no-ssl-trace [default] OPENSSL_NO_SSL_TRACE (skip dir) no-store [experimental] OPENSSL_NO_STORE (skip dir) no-unit-test [default] OPENSSL_NO_UNIT_TEST (skip dir) no-zlib [default] no-zlib-dynamic [default] IsMK1MF=0 CC =gcc CFLAG =-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -march=armv7-a -Wa,--noexecstack -O3 -Wall -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DBSAES_ASM -DGHASH_ASM EX_LIBS =-ldl CPUID_OBJ =armcap.o armv4cpuid.o BN_ASM =bn_asm.o armv4-mont.o armv4-gf2m.o EC_ASM = DES_ENC =des_enc.o fcrypt_b.o AES_ENC =aes_cbc.o aes-armv4.o bsaes-armv7.o aesv8-armx.o BF_ENC =bf_enc.o CAST_ENC =c_enc.o RC4_ENC =rc4_enc.o rc4_skey.o RC5_ENC =rc5_enc.o MD5_OBJ_ASM = SHA1_OBJ_ASM =sha1-armv4-large.o sha256-armv4.o sha512-armv4.o RMD160_OBJ_ASM= CMLL_ENC =camellia.o cmll_misc.o cmll_cbc.o MODES_OBJ =ghash-armv4.o ghashv8-armx.o ENGINES_OBJ = PROCESSOR = RANLIB =/usr/bin/ranlib ARFLAGS = PERL =/usr/bin/perl THIRTY_TWO_BIT mode DES_UNROLL used DES_INT used BN_LLONG mode RC4 uses uchar RC4_CHUNK is unsigned long BF_PTR used created directory `include/openssl' e_os2.h => include/openssl/e_os2.h making links in crypto... make[1]: Entering directory '/.../openssl-1.0.2e/crypto' crypto.h => ../include/openssl/crypto.h opensslv.h => ../include/openssl/opensslv.h opensslconf.h => ../include/openssl/opensslconf.h ebcdic.h => ../include/openssl/ebcdic.h symhacks.h => ../include/openssl/symhacks.h ossl_typ.h => ../include/openssl/ossl_typ.h constant_time_test.c => ../test/constant_time_test.c making links in crypto/objects... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/objects' objects.h => ../../include/openssl/objects.h obj_mac.h => ../../include/openssl/obj_mac.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/objects' making links in crypto/md4... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/md4' md4.h => ../../include/openssl/md4.h md4test.c => ../../test/md4test.c md4.c => ../../apps/md4.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/md4' making links in crypto/md5... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/md5' md5.h => ../../include/openssl/md5.h md5test.c => ../../test/md5test.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/md5' making links in crypto/sha... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/sha' sha.h => ../../include/openssl/sha.h shatest.c => ../../test/shatest.c sha1test.c => ../../test/sha1test.c sha256t.c => ../../test/sha256t.c sha512t.c => ../../test/sha512t.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/sha' making links in crypto/mdc2... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/mdc2' mdc2.h => ../../include/openssl/mdc2.h mdc2test.c => ../../test/mdc2test.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/mdc2' making links in crypto/hmac... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/hmac' hmac.h => ../../include/openssl/hmac.h hmactest.c => ../../test/hmactest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/hmac' making links in crypto/ripemd... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/ripemd' ripemd.h => ../../include/openssl/ripemd.h rmdtest.c => ../../test/rmdtest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/ripemd' making links in crypto/whrlpool... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/whrlpool' whrlpool.h => ../../include/openssl/whrlpool.h wp_test.c => ../../test/wp_test.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/whrlpool' making links in crypto/des... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/des' des.h => ../../include/openssl/des.h des_old.h => ../../include/openssl/des_old.h destest.c => ../../test/destest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/des' making links in crypto/aes... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/aes' aes.h => ../../include/openssl/aes.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/aes' making links in crypto/rc2... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/rc2' rc2.h => ../../include/openssl/rc2.h rc2test.c => ../../test/rc2test.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/rc2' making links in crypto/rc4... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/rc4' rc4.h => ../../include/openssl/rc4.h rc4test.c => ../../test/rc4test.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/rc4' making links in crypto/idea... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/idea' idea.h => ../../include/openssl/idea.h ideatest.c => ../../test/ideatest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/idea' making links in crypto/bf... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/bf' blowfish.h => ../../include/openssl/blowfish.h bftest.c => ../../test/bftest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/bf' making links in crypto/cast... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/cast' cast.h => ../../include/openssl/cast.h casttest.c => ../../test/casttest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/cast' making links in crypto/camellia... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/camellia' camellia.h => ../../include/openssl/camellia.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/camellia' making links in crypto/seed... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/seed' seed.h => ../../include/openssl/seed.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/seed' making links in crypto/modes... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/modes' modes.h => ../../include/openssl/modes.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/modes' making links in crypto/bn... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/bn' bn.h => ../../include/openssl/bn.h bntest.c => ../../test/bntest.c exptest.c => ../../test/exptest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/bn' making links in crypto/ec... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/ec' ec.h => ../../include/openssl/ec.h ectest.c => ../../test/ectest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/ec' making links in crypto/rsa... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/rsa' rsa.h => ../../include/openssl/rsa.h rsa_test.c => ../../test/rsa_test.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/rsa' making links in crypto/dsa... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/dsa' dsa.h => ../../include/openssl/dsa.h dsatest.c => ../../test/dsatest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/dsa' making links in crypto/ecdsa... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/ecdsa' ecdsa.h => ../../include/openssl/ecdsa.h ecdsatest.c => ../../test/ecdsatest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/ecdsa' making links in crypto/dh... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/dh' dh.h => ../../include/openssl/dh.h dhtest.c => ../../test/dhtest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/dh' making links in crypto/ecdh... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/ecdh' ecdh.h => ../../include/openssl/ecdh.h ecdhtest.c => ../../test/ecdhtest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/ecdh' making links in crypto/dso... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/dso' dso.h => ../../include/openssl/dso.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/dso' making links in crypto/engine... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/engine' engine.h => ../../include/openssl/engine.h enginetest.c => ../../test/enginetest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/engine' making links in crypto/buffer... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/buffer' buffer.h => ../../include/openssl/buffer.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/buffer' making links in crypto/bio... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/bio' bio.h => ../../include/openssl/bio.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/bio' making links in crypto/stack... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/stack' stack.h => ../../include/openssl/stack.h safestack.h => ../../include/openssl/safestack.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/stack' making links in crypto/lhash... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/lhash' lhash.h => ../../include/openssl/lhash.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/lhash' making links in crypto/rand... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/rand' rand.h => ../../include/openssl/rand.h randtest.c => ../../test/randtest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/rand' making links in crypto/err... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/err' err.h => ../../include/openssl/err.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/err' making links in crypto/evp... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/evp' evp.h => ../../include/openssl/evp.h evp_test.c => ../../test/evp_test.c evp_extra_test.c => ../../test/evp_extra_test.c evptests.txt -> ../../test/evptests.txt make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/evp' making links in crypto/asn1... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/asn1' asn1.h => ../../include/openssl/asn1.h asn1_mac.h => ../../include/openssl/asn1_mac.h asn1t.h => ../../include/openssl/asn1t.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/asn1' making links in crypto/pem... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/pem' pem.h => ../../include/openssl/pem.h pem2.h => ../../include/openssl/pem2.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/pem' making links in crypto/x509... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/x509' x509.h => ../../include/openssl/x509.h x509_vfy.h => ../../include/openssl/x509_vfy.h verify_extra_test.c => ../../test/verify_extra_test.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/x509' making links in crypto/x509v3... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/x509v3' x509v3.h => ../../include/openssl/x509v3.h v3nametest.c => ../../test/v3nametest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/x509v3' making links in crypto/conf... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/conf' conf.h => ../../include/openssl/conf.h conf_api.h => ../../include/openssl/conf_api.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/conf' making links in crypto/txt_db... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/txt_db' txt_db.h => ../../include/openssl/txt_db.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/txt_db' making links in crypto/pkcs7... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/pkcs7' pkcs7.h => ../../include/openssl/pkcs7.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/pkcs7' making links in crypto/pkcs12... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/pkcs12' pkcs12.h => ../../include/openssl/pkcs12.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/pkcs12' making links in crypto/comp... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/comp' comp.h => ../../include/openssl/comp.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/comp' making links in crypto/ocsp... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/ocsp' ocsp.h => ../../include/openssl/ocsp.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/ocsp' making links in crypto/ui... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/ui' ui.h => ../../include/openssl/ui.h ui_compat.h => ../../include/openssl/ui_compat.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/ui' making links in crypto/krb5... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/krb5' krb5_asn.h => ../../include/openssl/krb5_asn.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/krb5' making links in crypto/cms... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/cms' cms.h => ../../include/openssl/cms.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/cms' making links in crypto/pqueue... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/pqueue' pqueue.h => ../../include/openssl/pqueue.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/pqueue' making links in crypto/ts... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/ts' ts.h => ../../include/openssl/ts.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/ts' making links in crypto/srp... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/srp' srp.h => ../../include/openssl/srp.h srptest.c => ../../test/srptest.c make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/srp' making links in crypto/cmac... make[2]: Entering directory '/.../openssl-1.0.2e/crypto/cmac' cmac.h => ../../include/openssl/cmac.h make[2]: Leaving directory '/.../openssl-1.0.2e/crypto/cmac' make[1]: Leaving directory '/.../openssl-1.0.2e/crypto' making links in ssl... make[1]: Entering directory '/.../openssl-1.0.2e/ssl' ssl.h => ../include/openssl/ssl.h ssl2.h => ../include/openssl/ssl2.h ssl3.h => ../include/openssl/ssl3.h ssl23.h => ../include/openssl/ssl23.h tls1.h => ../include/openssl/tls1.h dtls1.h => ../include/openssl/dtls1.h kssl.h => ../include/openssl/kssl.h srtp.h => ../include/openssl/srtp.h ssltest.c => ../test/ssltest.c heartbeat_test.c => ../test/heartbeat_test.c clienthellotest.c => ../test/clienthellotest.c make[1]: Leaving directory '/.../openssl-1.0.2e/ssl' making links in engines... make[1]: Entering directory '/.../openssl-1.0.2e/engines' making links in engines/ccgost... make[2]: Entering directory '/.../openssl-1.0.2e/engines/ccgost' make[2]: Nothing to be done for 'links'. make[2]: Leaving directory '/.../openssl-1.0.2e/engines/ccgost' make[1]: Leaving directory '/.../openssl-1.0.2e/engines' making links in apps... make[1]: Entering directory '/.../openssl-1.0.2e/apps' make[1]: Nothing to be done for 'links'. make[1]: Leaving directory '/.../openssl-1.0.2e/apps' making links in test... make[1]: Entering directory '/.../openssl-1.0.2e/test' make[1]: Nothing to be done for 'links'. make[1]: Leaving directory '/.../openssl-1.0.2e/test' making links in tools... make[1]: Entering directory '/.../openssl-1.0.2e/tools' make[1]: Nothing to be done for 'links'. make[1]: Leaving directory '/.../openssl-1.0.2e/tools' generating dummy tests (if needed)... make[1]: Entering directory '/.../openssl-1.0.2e/test' md2test.c => dummytest.c rc5test.c => dummytest.c jpaketest.c => dummytest.c make[1]: Leaving directory '/.../openssl-1.0.2e/test' Configured for linux-armv4. _______________________________________________ openssl-bugs-mod mailing list openssl-bugs-...@openssl.org https://mta.openssl.org/mailman/listinfo/openssl-bugs-mod _______________________________________________ openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev