boringssl/crypto
Brian Smith d1425f69df Simplify division-with-remainder calculations in crypto/bn/div.c.
Create a |bn_div_rem_words| that is used for double-word/single-word
divisions and division-with-remainder. Remove all implementations of
|bn_div_words| except for the implementation needed for 64-bit MSVC.
This allows more code to be shared across platforms and also removes
an instance of the dangerous pattern wherein the |div_asm| macro
modified a variable that wasn't passed as a parameter.

Also, document the limitations of the compiler-generated code for the
non-asm code paths more fully. Compilers indeed have not improved in
this respect.

Change-Id: I5a36a2edd7465de406d47d72dcd6bf3e63e5c232
Reviewed-on: https://boringssl-review.googlesource.com/7127
Reviewed-by: David Benjamin <davidben@google.com>
2016-02-25 16:13:22 +00:00
..
aes Mark ARM assembly globals hidden uniformly in arm-xlate.pl. 2016-02-11 17:28:03 +00:00
asn1 OpenSSL reformat x509/, x509v3/, pem/ and asn1/. 2016-01-19 17:01:51 +00:00
base64 Remove calls to ERR_load_crypto_strings. 2016-01-25 23:09:08 +00:00
bio BIO_new_mem_buf should take const void * 2016-02-24 19:14:19 +00:00
bn Simplify division-with-remainder calculations in crypto/bn/div.c. 2016-02-25 16:13:22 +00:00
buf Make |BUF_memdup| look for zero length, not NULL. 2015-10-06 18:11:33 -07:00
bytestring Add a convenience function for i2d compatibility wrappers. 2016-02-16 19:40:53 +00:00
chacha Enable upstream's ChaCha20 assembly for x86 and ARM (32- and 64-bit). 2016-02-23 17:19:45 +00:00
cipher Test different chunk sizes in cipher_test. 2016-02-24 18:12:57 +00:00
cmac Add a run_tests target to run all tests. 2015-10-26 20:33:44 +00:00
conf Also add a no-op stub for OPENSSL_config. 2016-01-26 15:48:51 +00:00
curve25519 ed25519: Don't negate output when decoding. 2016-02-16 21:07:44 +00:00
des Use the straight-forward ROTATE macro. 2015-12-16 19:57:31 +00:00
dh Don't cast |OPENSSL_malloc|/|OPENSSL_realloc| result. 2016-02-11 22:07:56 +00:00
digest Remove the arch-specific HOST_c2l/HOST_l2c implementations. 2016-01-27 22:26:32 +00:00
dsa Remove dead header file. 2016-02-17 01:34:15 +00:00
ec Return 0 on error in |EC_POINT_is_on_curve| instead of -1. 2016-02-24 22:00:58 +00:00
ecdh Clean up |ECDH_compute_key|. 2015-10-27 17:00:25 +00:00
ecdsa Add a convenience function for i2d compatibility wrappers. 2016-02-16 19:40:53 +00:00
engine Unwind DH_METHOD and DSA_METHOD. 2015-11-03 22:54:36 +00:00
err Handle SSL_shutdown while in init more appropriately 2016-02-24 15:57:09 +00:00
evp Implement new PKCS#8 parsers. 2016-02-17 17:24:10 +00:00
hkdf Remove calls to ERR_load_crypto_strings. 2016-01-25 23:09:08 +00:00
hmac Remove condition which always evaluates to true (size_t >= 0). 2015-11-11 22:20:19 +00:00
lhash Add a run_tests target to run all tests. 2015-10-26 20:33:44 +00:00
md4 Make HOST_l2c return void. 2015-12-16 20:02:37 +00:00
md5 Make HOST_l2c return void. 2015-12-16 20:02:37 +00:00
modes Remove unused |ccm128_context| in crypto/modes/internal.h. 2016-02-24 21:08:21 +00:00
obj Allocate a NID for X25519. 2015-12-22 18:56:53 +00:00
pem Remove param_decode and param_encode EVP_PKEY hooks. 2016-02-17 16:30:29 +00:00
perlasm ymm registers are not suffixed with w. 2016-02-23 23:18:53 +00:00
pkcs8 BIO_new_mem_buf should take const void * 2016-02-24 19:14:19 +00:00
poly1305 Remove CRYPTO_set_NEON_functional. 2016-02-23 23:19:46 +00:00
rand Add a few more no-op stubs for cURL compatibility. 2016-01-26 15:48:41 +00:00
rc4 Remove the stitched RC4-MD5 code and use the generic one. 2015-12-16 23:57:42 +00:00
rsa Add missing " in comment. 2016-02-17 21:17:26 +00:00
sha Consistently use named constants in ARM assembly files. 2016-02-23 17:18:18 +00:00
stack Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
test Test different chunk sizes in cipher_test. 2016-02-24 18:12:57 +00:00
x509 BIO_new_mem_buf should take const void * 2016-02-24 19:14:19 +00:00
x509v3 Fix wildcard match on punycode/IDNA DNS names 2016-02-23 23:31:18 +00:00
CMakeLists.txt Append to CMAKE_ASM_FLAGS rather than replace it. 2016-02-23 22:48:31 +00:00
constant_time_test.c
cpu-arm-asm.S
cpu-arm.c Remove CRYPTO_set_NEON_functional. 2016-02-23 23:19:46 +00:00
cpu-intel.c Fix |sscanf| format string in cpu-intel.c. 2016-01-21 20:59:35 +00:00
crypto.c Remove CRYPTO_set_NEON_functional. 2016-02-23 23:19:46 +00:00
directory_posix.c
directory_win.c
directory.h
ex_data.c Skip free callbacks on empty CRYPTO_EX_DATAs. 2015-12-15 21:32:14 +00:00
internal.h Fix 32-bit build. 2016-01-27 22:29:52 +00:00
mem.c Fix some indentation. 2016-01-28 00:51:45 +00:00
refcount_c11.c
refcount_lock.c
refcount_test.c
thread_none.c
thread_pthread.c Make sure pthread_once() succeeds. 2015-11-17 21:44:40 +00:00
thread_test.c
thread_win.c Fix data <-> function pointer casts in thread_win.c. 2016-01-27 22:08:26 +00:00
thread.c
time_support.c Remove some mingw support cruft. 2016-01-25 23:05:45 +00:00