Frank Denis
ffce4334e4
Disable AVX512 on MingW for now
2017-09-15 15:16:56 +02:00
Frank Denis
07de00bc9a
Revert -fno-asynchronous-unwind-tables addition
...
Try linking an object with AVX-512 opcodes instead
2017-09-15 15:10:01 +02:00
Frank Denis
eb8c283dd8
Add -fno-asynchronous-unwind-tables to optimized builds
...
No need to check if the linker supports this.
2017-09-15 14:57:24 +02:00
Frank Denis
186b398a21
-fno-asynchronous-unwind-tables is now required on MingW
2017-09-15 14:39:37 +02:00
Frank Denis
b31a3f247e
Disable AVX512 optimizations on clang < 4
2017-09-15 10:10:30 +02:00
Frank Denis
1c0677b09f
Check for AVX512F support
2017-09-13 23:35:20 +02:00
Frank Denis
6dcba550c2
Confirm that emcc is actually being used if EMSCRIPTEN is defined
...
Fixes #544
2017-09-11 14:06:07 +02:00
Frank Denis
30a25dbb2a
Bump
2017-08-24 15:50:25 +02:00
Frank Denis
ef7c9f44c0
Sort
2017-08-08 18:07:46 +02:00
Frank Denis
c87e6f5e12
Add -Wold-style-declaration
2017-08-08 18:07:23 +02:00
Frank Denis
67a7df73b1
Add all the Visual Studio files in the tarball
...
This is gonna make a big tarball!
Fixes #569
2017-07-24 14:27:33 +02:00
Frank Denis
30e8a2b231
The time has come to use memset_s() if available
...
memset_s() detection had been removed from the autoconf script a long
time ago because it was incorrectly defined in some obsolete Xcode version.
We're in year 2017, move on.
2017-07-15 23:16:55 +02:00
Frank Denis
24335c250d
Bump
2017-07-13 16:20:17 +02:00
Frank Denis
c3045e2cb0
Check that SIGSEGV handlers work
...
Tools such as ASAN may trap violations instead of our handlers,
making the sodium_utils{2,3} test fail.
This has been documented for a long time, but it's probably better
to detect this and ignore tests depending on working signal handlers.
2017-06-23 11:11:16 +02:00
Frank Denis
00777f7f10
Clarify what --disable-asm does
2017-06-15 18:32:03 +02:00
Frank Denis
dfc226fed6
Try linking _xgetbv() for obsolete mingw versions
2017-04-14 19:01:04 +02:00
Frank Denis
7fa678bdca
April 1st is over
...
This reverts commit 1668847409
.
2017-04-01 20:50:58 +02:00
Frank Denis
1668847409
Add support for random.org as a CSPRNG
2017-04-01 10:01:26 +02:00
Frank Denis
aa7ded10e7
Bump package (not library) version
2017-03-28 12:57:19 +02:00
Frank Denis
5a49069ae0
Bump revision
2017-03-28 11:52:29 +02:00
Frank Denis
b434f5ac5b
Add -Wshorten-64-to-32 if supported
2017-03-21 23:25:55 +01:00
Frank Denis
40511c47d4
Compilation with -march=native fails on Raspbian/Raspberry Pi 3
2017-03-10 20:49:36 +01:00
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
Frank Denis
90c49184fa
--enable-opt now enables -save-temps; remove -flto
2015-12-18 01:11:41 +01:00
Frank Denis
3796145631
autoconf: check that named registers work
2015-12-06 18:30:00 +01:00
Frank Denis
5b62287f98
Add a --enable-opt compile-time switch
2015-12-05 17:56:42 +01:00
Frank Denis
1e71f849b5
1.0.7 (not released yet)
2015-11-25 16:12:42 +01:00
Frank Denis
b74f644d3f
Replace CPU_ALIGNED_ACCESS_REQUIRED with CPU_UNALIGNED_ACCESS
...
Instead of defining a macro when aligned memory access is required,
define one when unaligned memory access is supported.
Safer when cross-compiling or not using autoconf
2015-11-16 22:01:19 +01:00
Frank Denis
eb8119d65c
Enable 128-bit arithmetic if __int128 is available
2015-11-15 18:16:15 +01:00
Frank Denis
dd238f518d
Bump major
2015-11-14 15:33:15 +01:00
Frank Denis
fb28119a38
Check inline assembly code using __asm__ __volatile__
2015-11-14 01:21:55 +01:00
Frank Denis
18906a078c
Unfortunately, some assemblers still don't know about AVX opcodes
2015-11-04 23:29:27 +01:00
Frank Denis
3f3969ffae
EMSCRIPTEN -> __EMSCRIPTEN__
2015-11-04 22:43:25 +01:00
Frank Denis
049fd8fd6a
Add sodium_runtime_has_avx()
2015-11-03 14:19:22 +01:00
Frank Denis
2a77b18ad8
Version bump (not released yet)
2015-11-01 15:45:36 +01:00
Frank Denis
19308c5d5b
Bump the library major version, since some functions have been removed
...
Even though these functions were exported, the number of applications
using them directly is very likely to be zero.
Still, bump the major library version to be safe and compliant.
2015-11-01 12:23:21 +01:00
Frank Denis
920c459ac3
Link optimized compression functions for Blake2b
2015-11-01 06:09:04 +01:00
Frank Denis
26fdfec99b
Add sodium_runtime_has_ssse3() and sodium_runtime_has_sse41()
2015-10-31 23:42:44 +01:00
Frank Denis
f11da70ce2
Package version bump. No ABI version changes required.
2015-10-24 19:12:49 +02:00
Frank Denis
e2124999cc
doesn't -> does not
2015-10-19 00:24:39 +02:00
Frank Denis
ec7b8e5605
Version bump [but still not released]
2015-10-14 14:43:22 +02:00
Frank Denis
84d92fc1bf
Try to enable specific cflags before testing each intructions set
2015-10-10 20:10:26 +02:00
Frank Denis
f267352eec
Use SIMD-specific compiler flags only for files needing them
2015-10-10 19:24:30 +02:00
Frank Denis
d4ff80e7a0
Define __SSSE3__ if required
2015-10-10 18:32:10 +02:00
Frank Denis
6ca06314fc
Do not try to compile aesni code if this is not going to compile
2015-10-10 18:22:03 +02:00
Frank Denis
e83e9b2d8e
Check for AESNI & PCLMUL presence/usability
2015-10-10 17:57:47 +02:00
Frank Denis
ab2e86748e
Replace the aes256gcm implementation with Romain Dolbeau's implementation
...
which is slightly faster than mine.
Reimplement features from the previous implementation: add batch mode and
use two passes in the decryption function in order to check the tag before
decrypting.
2015-10-10 16:21:08 +02:00
Frank Denis
571bfc99c8
Check for ssse3 presence
2015-10-07 23:26:13 +02:00
Frank Denis
e8e5d2fc18
Add crypto_aead_aes256gcm_aesni_*
...
Requires a CPU with aesni and pclmulqdq
This is a private branch for a reason. It is not going to be merged as-is.
2015-10-07 23:09:19 +02:00
Frank Denis
46f71fba9e
Check for getpid(2) presence instead of checking for Visual Studio
2015-09-13 15:04:26 +02:00
Frank Denis
c1f749e68a
Keep shell variables names consistent with their related C macros.
2015-09-04 15:37:31 +02:00