boringssl/crypto
David Benjamin 96ac819197 Remove inconsistency in ARM support.
This facilitates "universal" builds, ones that target multiple
architectures, e.g. ARMv5 through ARMv7.

(Imported from upstream's c1669e1c205dc8e695fb0c10a655f434e758b9f7)

This is a change from a while ago which was a source of divergence between our
perlasm and upstream's. This change in upstream came with the following comment
in Configure:

 Note that -march is not among compiler options in below linux-armv4
 target line. Not specifying one is intentional to give you choice to:

 a) rely on your compiler default by not specifying one;
 b) specify your target platform explicitly for optimal performance,
    e.g. -march=armv6 or -march=armv7-a;
 c) build "universal" binary that targets *range* of platforms by
    specifying minimum and maximum supported architecture;

 As for c) option. It actually makes no sense to specify maximum to be
 less than ARMv7, because it's the least requirement for run-time
 switch between platform-specific code paths. And without run-time
 switch performance would be equivalent to one for minimum. Secondly,
 there are some natural limitations that you'd have to accept and
 respect. Most notably you can *not* build "universal" binary for
 big-endian platform. This is because ARMv7 processor always picks
 instructions in little-endian order. Another similar limitation is
 that -mthumb can't "cross" -march=armv6t2 boundary, because that's
 where it became Thumb-2. Well, this limitation is a bit artificial,
 because it's not really impossible, but it's deemed too tricky to
 support. And of course you have to be sure that your binutils are
 actually up to the task of handling maximum target platform.

Change-Id: Ie5f674d603393f0a1354a0d0973987484a4a650c
Reviewed-on: https://boringssl-review.googlesource.com/4488
Reviewed-by: Adam Langley <agl@google.com>
2015-05-04 22:43:51 +00:00
..
aes Remove inconsistency in ARM support. 2015-05-04 22:43:51 +00:00
asn1 Ensure BN_asc2bn, BN_dec2bn, and BN_hex2bn never give -0. 2015-04-23 20:53:24 +00:00
base64 Convert base64_test to C++. 2015-04-01 19:54:13 +00:00
bio bio: remove BIO_CTRL_PUSH/_POP. 2015-04-16 00:16:20 +00:00
bn Remove inconsistency in ARM support. 2015-05-04 22:43:51 +00:00
buf Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
bytestring Check for leading zeros in CBS_get_asn1_uint64. 2015-04-06 20:54:53 +00:00
chacha Switch nonce type in chacha_vec.c to uint32_t. 2015-02-13 13:16:59 -08:00
cipher Compatibility changes for wpa_supplicant and OpenSSH. 2015-04-14 20:18:28 +00:00
conf Add NCONF_load_bio. 2015-04-06 16:58:45 -07:00
des Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
dh Remove hash table lookups from ex_data. 2015-04-15 23:59:35 +00:00
digest Replace MD5 in examples with SHA-256. 2015-04-13 20:55:48 +00:00
dsa Remove hash table lookups from ex_data. 2015-04-15 23:59:35 +00:00
ec Don't inclue crypto/ec/internal.h in ec_test.cc. 2015-04-28 21:16:50 +00:00
ecdh Add in missing curly braces part 2. 2015-02-11 23:14:04 +00:00
ecdsa Convert ecdsa_test to C++. 2015-04-15 21:11:56 +00:00
engine Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
err Add 64-bit, P-256 implementation. 2015-04-16 13:53:05 -07:00
evp Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
hkdf Rename BIO_print_errors_fp back to ERR_print_errors_fp & refactor it. 2015-04-13 20:23:29 +00:00
hmac Remove gotos from HMAC code. 2015-04-13 20:54:26 +00:00
lhash Remove more bits of ERR_STRING_DATA. 2015-02-10 02:10:46 +00:00
md4 Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
md5 Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
modes Remove inconsistency in ARM support. 2015-05-04 22:43:51 +00:00
obj Fix logic error that was breaking OBJ_create. 2015-04-23 01:46:15 +00:00
pem Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
perlasm perlasm/arm-xlate.pl update (fix end-less loop and prepare for 32-bit iOS). 2015-04-28 21:26:34 +00:00
pkcs8 Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
poly1305 Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00
rand Fix Windows build failures caused by 310d4dd. 2015-04-15 03:06:29 +00:00
rc4 Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
rsa Remove hash table lookups from ex_data. 2015-04-15 23:59:35 +00:00
sha sha/asm/sha*-armv8.pl: add Denver and X-Gene esults. 2015-04-28 21:28:30 +00:00
stack Modify sk_find() so it returns 1 on success and 0 otherwise. 2015-04-24 23:19:56 +00:00
test Convert ec_test to C++ 2015-04-28 21:00:34 +00:00
x509 Remove hash table lookups from ex_data. 2015-04-15 23:59:35 +00:00
x509v3 Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
arm_arch.h
CMakeLists.txt 32-bit ARM perlasm should be 'linux32', not 'elf'. 2015-04-20 22:50:44 +00:00
constant_time_test.c
cpu-arm-asm.S Don't probe for NEON with SIGILL on aarch64. 2015-02-03 19:56:25 +00:00
cpu-arm.c Don't set NEON_FUNCTIONAL in the getauxval path. 2015-03-31 00:26:25 +00:00
cpu-intel.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
cpu-x86_64-asm.pl Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
cpu-x86-asm.pl Never set RC4_CHAR. 2015-02-20 23:59:59 +00:00
crypto.c Compatibility changes for wpa_supplicant and OpenSSH. 2015-04-14 20:18:28 +00:00
directory_posix.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
directory_win.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
directory.h
ex_data.c Remove hash table lookups from ex_data. 2015-04-15 23:59:35 +00:00
header_removed.h
internal.h Work around missing PTHREAD_RWLOCK_INITIALIZER in NaCl newlib. 2015-04-29 20:47:07 +00:00
mem.c Lowercase some Windows headers. 2015-03-31 22:21:42 +00:00
thread_pthread.c crypto: add mutexes. 2015-04-14 20:07:15 +00:00
thread_test.c Add native support for onces and thread-local storage. 2015-03-31 22:37:12 +00:00
thread_win.c crypto: add mutexes. 2015-04-14 20:07:15 +00:00
thread.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
time_support.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00