Running regress/lib/libcrypto/aead fails on big-endian platforms without the following diff, for the ``Test vector from RFC7539 2.8.2'' test, due to 64-bit counters being truncated to size_t.
Index: chacha/chacha.c =================================================================== RCS file: /OpenBSD/src/lib/libssl/src/crypto/chacha/chacha.c,v retrieving revision 1.6 diff -u -p -r1.6 chacha.c --- chacha/chacha.c 8 Jul 2014 14:30:23 -0000 1.6 +++ chacha/chacha.c 6 Nov 2015 05:37:19 -0000 @@ -57,7 +57,7 @@ ChaCha(ChaCha_ctx *ctx, unsigned char *o void CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, - const unsigned char key[32], const unsigned char iv[8], size_t counter) + const unsigned char key[32], const unsigned char iv[8], uint64_t counter) { struct chacha_ctx ctx; Index: chacha/chacha.h =================================================================== RCS file: /OpenBSD/src/lib/libssl/src/crypto/chacha/chacha.h,v retrieving revision 1.6 diff -u -p -r1.6 chacha.h --- chacha/chacha.h 25 Jul 2014 14:04:51 -0000 1.6 +++ chacha/chacha.h 6 Nov 2015 05:37:19 -0000 @@ -44,7 +44,7 @@ void ChaCha(ChaCha_ctx *ctx, unsigned ch size_t len); void CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, - const unsigned char key[32], const unsigned char iv[8], size_t counter); + const unsigned char key[32], const unsigned char iv[8], uint64_t counter); #ifdef __cplusplus }