Commit Graph

269 Commits

Author SHA1 Message Date
Frank Denis
8679e717db + sodium_library_minimal() and SODIUM_LIBRARY_MINIMAL 2017-03-06 09:47:09 +01:00
Frank Denis
e8182741b5 Less confusing autoconf checking messages 2017-03-05 22:44:01 +01:00
Frank Denis
1c2ce89326 _xgetbv() can be defined as a macro, so try an actual compilation 2017-02-28 18:20:24 +01:00
Frank Denis
e5a196a8ee Always include intrin.h if available 2017-02-28 17:58:50 +01:00
Frank Denis
9eea164007 Check for _xgetbv() presence 2017-02-28 17:51:18 +01:00
Frank Denis
9294e2e699 Revamp the salsa20 implmentations and structure
- Factorize core_salsa20{20,12,8}
- Add support for multiple salsa20 implementations
- Replace the assembly SSE2 implementation with its equivalent using intrisics
2017-02-26 16:49:15 +01:00
Frank Denis
40b4462239 Version bump [not released yet] 2017-02-20 11:35:14 +01:00
Frank Denis
3965574d3b Merge branch 'master' of https://github.com/jedisct1/libsodium 2017-01-19 21:27:28 +01:00
Frank Denis
9f489f0794 Compile with -Wno-type-limits 2017-01-19 21:26:46 +01:00
Frank Denis
f31a4b759d Tweak AX_CHECK_COMPILE_FLAG to also try to link the test program 2016-12-29 07:51:50 +01:00
Frank Denis
db97a35502 Check if atomic operations are supported 2016-12-16 16:37:12 +01:00
Frank Denis
b1f56de00b Import contrib/FindSodium.cmake 2016-10-05 15:37:03 +02:00
Frank Denis
68564326e1 A compiler *can* still optimize this out 2016-08-04 20:59:43 +02:00
Ilya Maykov
a3b68738db Better AVX2 detection, try 2 (only using intrinsic functions) (#420)
* Better AVX2 detection, try 2 (only using intrinsic functions)

* Slight change to AVX2 detection per jedisct1's feedback
2016-08-04 20:58:48 +02:00
Frank Denis
e08feb04d9 Pasto: CFLAGS_AVX -> CFLAGS_AVX2
Spotted by @ivmaykov
2016-08-04 02:26:24 +02:00
Frank Denis
fa18ba7505 Revert "Better AVX2 detection for GCC compilers"
This reverts commit 534e0774e3.
2016-08-04 02:25:24 +02:00
Ilya Maykov
534e0774e3 Better AVX2 detection for GCC compilers 2016-08-03 17:00:03 -07:00
Frank Denis
351ae49e53 cpuid is not available on i686-nacl 2016-07-06 16:23:50 +02:00
Frank Denis
29492143ab Warn if the library is being compiled in a custom way 2016-07-02 10:07:38 +02:00
Frank Denis
a7a3235a39 Version bump (not released yet) 2016-06-30 18:48:16 +02:00
Frank Denis
ba9c296108 Correct whitespace in path detection, and turn it into a fatal error 2016-06-15 09:50:45 +02:00
Frank Denis
474952d3f1 Try using cpuid on NativeClient 2016-04-30 16:23:02 +02:00
Frank Denis
a87d30f3af Try MMX/SSE/SSE2/SSE3/SSSE4/SSE4.1 instructions on NativeClient 2016-04-30 16:08:52 +02:00
Frank Denis
00e156198a Disable SIMD instructions on NativeClient 2016-04-30 13:03:31 +02:00
Frank Denis
d463dadc51 Disable ssp and aesni on nativeclient, nativeclient.sh->nativeclient-pnacl.sh 2016-04-29 22:29:34 +02:00
Frank Denis
fbad64f6ef Disable asm on native client 2016-04-28 21:31:18 +02:00
Frank Denis
f8ff8ebf66 Add locks around sodium_init() 2016-04-25 18:33:11 +02:00
Frank Denis
e816ffb56c Quotes 2016-04-19 00:24:46 +02:00
Frank Denis
bdf5c8246b Compile with pthreads 2016-04-18 20:54:46 +02:00
Frank Denis
daeaf63f9c Not an ELF system, not an Apple system, weak symbols may not work 2016-04-13 09:22:51 +02:00
Frank Denis
703120c1a2 Version bump [only the package] 2016-04-04 12:53:35 +02:00
Frank Denis
abdc839367 Workaround for old gcc versions missing _mm256_broadcastsi128_si256()
Some old gcc versions define vbroadcasti128 as
_mm_broadcastsi128_si256() not _mm256_broadcastsi128_si256().

Detect this, and use _mm_broadcastsi128_si256() in that case.
2016-04-03 10:41:28 +02:00
Frank Denis
c2b8ffb53d NO_BROWSER is not required any more, even for tests 2016-04-02 12:18:52 +02:00
Frank Denis
2b1d7cb750 Revisit the default set of compiler warnings 2016-03-27 11:10:36 +02:00
Frank Denis
55c3eed151 Have the SSE2 test trigger a conversion with old gcc versions 2016-03-24 19:18:15 +01:00
Frank Denis
3f765f1737 Old gcc versions need -flax-vector-conversions to compile some intrinsics 2016-03-24 19:11:21 +01:00
Frank Denis
b31f59d835 -save-temps is messing with the detection of supported directives
Remove it from --enable-opt, and don't use any directives to restrict
symbol visibility if detection appears to be unreliable
2016-03-24 10:55:47 +01:00
Frank Denis
f4cc8aeb48 Force LITTLE_ENDIAN detection on x86 and x86_64
This is a sad workaround for CompCert 2.6
2016-03-24 09:24:35 +01:00
Frank Denis
7bb9b7fc70 Endianness 2016-03-24 09:05:09 +01:00
Frank Denis
3295752821 Of course, GNU ld doesn't know about .private_extern 2016-03-22 21:26:39 +01:00
Frank Denis
bafc9c70e1 Only use .private_extern if this is supported 2016-03-22 20:42:07 +01:00
Frank Denis
0131a72082 BLAKE2b AVX2 implementation
By the marvellous Samuel Neves - https://github.com/sneves/blake2-avx2
2016-03-17 16:24:04 +01:00
Frank Denis
7611ea6018 Add AVX2 detection 2016-03-17 11:15:18 +01:00
Frank Denis
f92cfae9d8 Have --enable-opt use -O3, not -Ofast 2016-03-08 12:53:34 +01:00
Frank Denis
aafff07689 Add support for running the test suite with Valgrind 2016-03-06 01:35:06 +01:00
Frank Denis
846a84b721 Version bump (not released yet) 2016-01-13 09:49:20 +01:00
Frank Denis
a78161981c Check for _mm_set_epi64x() usability in the SSE2 test 2015-12-29 23:18:28 +01:00
Frank Denis
d740901df0 Have --enable-opt imply -Ofast 2015-12-29 15:46:23 +01:00
Frank Denis
953e959fba Try --high-entropy-va on MinGW 2015-12-27 20:53:08 +01:00
Frank Denis
c08c21887e Version bump 2015-12-23 21:15:12 +01:00