boringssl/crypto/test
David Benjamin e569c7e25d Add ABI testing for 32-bit x86.
This is much less interesting (stack-based parameters, Windows and SysV
match, no SEH concerns as far as I can tell) than x86_64, but it was
easy to do and I'm more familiar with x86 than ARM, so it made a better
second architecture to make sure all the architecture ifdefs worked out.

Also fix a bug in the x86_64 direction flag code. It was shifting in the
wrong direction, making give 0 or 1<<20 rather than 0 or 1.

(Happily, x86_64 appears to be unique in having vastly different calling
conventions between OSs. x86 is the same between SysV and Windows, and
ARM had the good sense to specify a (mostly) common set of rules.)

Since a lot of the assembly functions use the same names and the tests
were written generically, merely dropping in a trampoline and
CallerState implementation gives us a bunch of ABI tests for free.

Change-Id: I15408c18d43e88cfa1c5c0634a8b268a150ed961
Reviewed-on: https://boringssl-review.googlesource.com/c/34624
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2019-01-28 20:40:06 +00:00
..
asm Add ABI testing for 32-bit x86. 2019-01-28 20:40:06 +00:00
abi_test.cc Add direction flag checking to CHECK_ABI. 2019-01-09 03:22:15 +00:00
abi_test.h Add ABI testing for 32-bit x86. 2019-01-28 20:40:06 +00:00
CMakeLists.txt Add a CFI tester to CHECK_ABI. 2019-01-03 22:01:55 +00:00
file_test_gtest.cc Support KAS tests for NIAP. 2018-01-16 22:57:01 +00:00
file_test.cc Add RSA-PSS tests from Wycheproof. 2018-08-10 18:26:00 +00:00
file_test.h Add RSA-PSS tests from Wycheproof. 2018-08-10 18:26:00 +00:00
gtest_main.cc Add a CFI tester to CHECK_ABI. 2019-01-03 22:01:55 +00:00
gtest_main.h Add some RAND_bytes tests. 2018-09-06 23:54:57 +00:00
malloc.cc Don't build test/malloc.cc with TSAN. 2018-07-24 15:38:09 +00:00
test_util.cc Support the allocating case of i2d_ASN1_{BOOLEAN,OBJECT}. 2018-08-16 15:59:11 +00:00
test_util.h Support the allocating case of i2d_ASN1_{BOOLEAN,OBJECT}. 2018-08-16 15:59:11 +00:00
wycheproof_util.cc Add an ECDH Wycheproof driver. 2018-05-01 19:38:07 +00:00
wycheproof_util.h Add an ECDH Wycheproof driver. 2018-05-01 19:38:07 +00:00