boringssl/crypto
David Benjamin 28f035f48b Implement unwind testing for Windows.
Unfortunately, due to most OpenSSL assembly using custom exception
handlers to unwind, most of our assembly doesn't work with
non-destructive unwind. For now, CHECK_ABI behaves like
CHECK_ABI_NO_UNWIND on Windows, and CHECK_ABI_SEH will test unwinding on
both platforms.

The tests do, however, work with the unwind-code-based assembly we
recently added, as well as the clmul-based GHASH which is also
code-based. Remove the ad-hoc SEH tests which intentionally hit memory
access exceptions, now that we can test unwind directly.

Now that we can test it, the next step is to implement SEH directives in
perlasm so writing these unwind codes is less of a chore.

Bug: 259
Change-Id: I23a57a22c5dc9fa4513f575f18192335779678a5
Reviewed-on: https://boringssl-review.googlesource.com/c/34784
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2019-02-05 19:22:15 +00:00
..
asn1 Modernize OPENSSL_COMPILE_ASSERT, part 2. 2018-11-14 16:06:37 +00:00
base64 Modernize OPENSSL_COMPILE_ASSERT, part 2. 2018-11-14 16:06:37 +00:00
bio Fix d2i_*_bio on partial reads. 2018-12-05 22:05:28 +00:00
bn_extra Add some Node compatibility functions. 2019-01-25 16:50:30 +00:00
buf Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
bytestring Speculatively remove __STDC_*_MACROS. 2018-11-14 16:14:37 +00:00
chacha Add ABI tests for ChaCha20_ctr32. 2019-01-09 03:11:45 +00:00
cipher_extra Don't use bsaes over vpaes for CTR-DRBG. 2019-02-01 18:03:39 +00:00
cmac Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
conf Use proper functions for lh_*. 2018-10-15 23:37:04 +00:00
curve25519 Automatically disable assembly with MSAN. 2018-09-07 21:12:37 +00:00
dh Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
digest_extra Fix undefined pointer casts in SHA-512 code. 2019-01-22 23:18:36 +00:00
dsa Tidy up dsa_sign_setup. 2018-10-25 21:51:57 +00:00
ec_extra Use EC_RAW_POINT in ECDSA. 2018-11-13 02:06:46 +00:00
ecdh_extra Clean up EC_POINT to byte conversions. 2018-11-13 17:27:59 +00:00
ecdsa_extra Remove unreachable code. 2018-11-12 23:34:36 +00:00
engine Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
err Enforce key usage for RSA keys in TLS 1.2. 2019-01-30 21:28:34 +00:00
evp Add a very roundabout EC keygen API. 2019-01-25 23:08:12 +00:00
fipsmodule Implement unwind testing for Windows. 2019-02-05 19:22:15 +00:00
hkdf Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
hmac_extra
hrss HRSS: flatten sample distribution. 2019-01-22 22:06:43 +00:00
lhash Fix undefined function pointer casts in LHASH. 2018-10-15 23:53:24 +00:00
obj Add initial HRSS support. 2018-12-12 17:35:02 +00:00
pem Rewrite PEM_X509_INFO_read_bio. 2018-10-01 17:35:10 +00:00
perlasm Tolerate spaces when parsing .type directives. 2019-02-05 15:47:26 +00:00
pkcs7 Fix undefined function pointer casts in {d2i,i2d}_Foo_{bio,fp} 2018-10-01 17:34:53 +00:00
pkcs8 Fix undefined function pointer casts in {d2i,i2d}_Foo_{bio,fp} 2018-10-01 17:34:53 +00:00
poly1305 Automatically disable assembly with MSAN. 2018-09-07 21:12:37 +00:00
pool Use proper functions for lh_*. 2018-10-15 23:37:04 +00:00
rand_extra Add ABI tests for rdrand. 2019-01-04 00:07:26 +00:00
rc4 Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
rsa_extra Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
stack Don't pass NULL,0 to qsort. 2019-01-22 23:28:38 +00:00
test Implement unwind testing for Windows. 2019-02-05 19:22:15 +00:00
x509 Fix d2i_*_bio on partial reads. 2018-12-05 22:05:28 +00:00
x509v3 Unexport and rename hex_to_string, string_to_hex, and name_cmp. 2018-11-27 00:08:39 +00:00
abi_self_test.cc Implement unwind testing for Windows. 2019-02-05 19:22:15 +00:00
CMakeLists.txt Add ABI testing for 32-bit x86. 2019-01-28 20:40:06 +00:00
compiler_test.cc
constant_time_test.cc Add a test for CRYPTO_memcmp. 2018-03-27 16:22:47 +00:00
cpu-aarch64-fuchsia.c Add cpu-aarch64-fuchsia.c 2018-02-13 20:12:47 +00:00
cpu-aarch64-linux.c Add cpu-aarch64-fuchsia.c 2018-02-13 20:12:47 +00:00
cpu-arm-linux_test.cc Move ARM cpuinfo functions to the header. 2018-11-21 00:46:57 +00:00
cpu-arm-linux.c Move ARM cpuinfo functions to the header. 2018-11-21 00:46:57 +00:00
cpu-arm-linux.h Move ARM cpuinfo functions to the header. 2018-11-21 00:46:57 +00:00
cpu-arm.c
cpu-intel.c Pretend AMD XOP was never a thing. 2018-12-03 22:59:55 +00:00
cpu-ppc64le.c
crypto.c Add test of assembly code dispatch. 2019-01-22 20:22:53 +00:00
ex_data.c
impl_dispatch_test.cc Add test of assembly code dispatch. 2019-01-22 20:22:53 +00:00
internal.h Fix header file for _byteswap_ulong and _byteswap_uint64 from MSVC CRT 2019-01-14 19:49:39 +00:00
mem.c Use sdallocx, if available, when deallocating. 2018-09-17 21:02:59 +00:00
refcount_c11.c
refcount_lock.c Modernize OPENSSL_COMPILE_ASSERT, part 2. 2018-11-14 16:06:37 +00:00
refcount_test.cc Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
self_test.cc
thread_none.c Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
thread_pthread.c Modernize OPENSSL_COMPILE_ASSERT, part 2. 2018-11-14 16:06:37 +00:00
thread_test.cc Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
thread_win.c Replace the last CRITICAL_SECTION with SRWLOCK. 2018-12-03 20:37:35 +00:00
thread.c