webmcp
diff libraries/moonhash/moonhash_sha3.c @ 502:fa902b26589f
Removed endianess detection from moonhash_sha.c and created byteorder.h for that purpose instead
author | jbe |
---|---|
date | Mon Aug 14 12:07:37 2017 +0200 (2017-08-14) |
parents | 01f53490f262 |
children | 218219b7a15e |
line diff
1.1 --- a/libraries/moonhash/moonhash_sha3.c Sun Aug 13 14:55:50 2017 +0200 1.2 +++ b/libraries/moonhash/moonhash_sha3.c Mon Aug 14 12:07:37 2017 +0200 1.3 @@ -1,20 +1,7 @@ 1.4 /* This file is derived from "Keccak-more-compact.c", which has been downloaded from <https://github.com/gvanas/KeccakCodePackage/blob/10856bc1922a1ee2c4d2822a88b9ef8fb5059932/Standalone/CompactFIPS202/Keccak-more-compact.c>. The original file "Keccak-more-compact.c" has, according to <https://github.com/gvanas/KeccakCodePackage/blob/10856bc1922a1ee2c4d2822a88b9ef8fb5059932/README.markdown>, been put into the public domain. */ 1.5 1.6 #include <stdint.h> 1.7 - 1.8 -#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) 1.9 -#include <sys/endian.h> 1.10 -#if defined(_BYTE_ORDER) && defined(_LITTLE_ENDIAN) && _BYTE_ORDER == _LITTLE_ENDIAN 1.11 -#define MOONHASH_LITTLE_ENDIAN 1.12 -#endif 1.13 -#elif defined(__linux__) 1.14 -#include <endian.h> 1.15 -#if defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && __BYTE_ORDER == __LITTLE_ENDIAN 1.16 -#define MOONHASH_LITTLE_ENDIAN 1.17 -#endif 1.18 -#else 1.19 -#warning Could not determine endianess, revert to fail safe. 1.20 -#endif 1.21 +#include "byteorder.h" 1.22 1.23 #define FOR(i,n) for(i=0; i<n; ++i) 1.24 typedef uint8_t u8; 1.25 @@ -31,7 +18,7 @@ 1.26 1.27 static int LFSR86540(u8 *R) { (*R)=((*R)<<1)^(((*R)&0x80)?0x71:0); return ((*R)&2)>>1; } 1.28 #define ROL(a,o) ((((u64)a)<<o)^(((u64)a)>>(64-o))) 1.29 -#ifdef MOONHASH_LITTLE_ENDIAN 1.30 +#ifdef LITTLE_ENDIAN_DETECTED 1.31 #define load64(src) (*(uint64_t *)(src)) 1.32 #define store64(dst, src) do { *(uint64_t *)(dst) = src; } while (0) 1.33 #define xor64(dst, src) do { *(uint64_t *)(dst) ^= src; } while (0)