Commit Graph

368 Commits

Author SHA1 Message Date
Frank Denis
794ec886e7 Check for __aarch64__ instead of __ARM_NEON for 128-bit arithmetic 2018-01-07 15:40:27 +01:00
Frank Denis
93887f179d Check for -mretpoline / -zretpolineplt support 2018-01-04 18:04:39 +01:00
Frank Denis
764656443f Check if we can use inline asm code, not only on x86_64 2017-12-31 01:23:58 +01:00
Frank Denis
fff87d50dd Restore the __EMSCRIPTEN__ check for 128-bit usage 2017-12-27 00:28:41 +01:00
Frank Denis
d73d5f8ee6 Rather than checking for emscripten, perform a 128-bit mul 2017-12-27 00:10:18 +01:00
Frank Denis
1f1b0afb5c Do not assume that __clang__ being defined implied __GNUC__ defined as well 2017-12-19 21:44:48 +01:00
Frank Denis
a8ef83ed53 Enable 128-bit arithmetic clang+systems with NEON 2017-12-18 20:26:10 +01:00
Frank Denis
1dd73862be Disable ssp on HaikuOS 2017-12-18 14:21:31 +01:00
Frank Denis
c2e742fa0a -fomit-frame-pointer makes a different on mips 2017-12-11 12:00:36 +01:00
Frank Denis
18e2038fbb Version bump [not released yet] 2017-12-05 22:23:37 +00:00
Frank Denis
06a523423a Oh, the joy of compilers pretending to support C99, but that actually don't 2017-11-26 00:11:56 +01:00
Frank Denis
b84676c217 Don't bother with _Thread_local if compiled --without-pthreads 2017-11-25 22:46:31 +01:00
Frank Denis
a261eec0aa Make the salsa20 random stream thread local 2017-11-25 22:29:20 +01:00
Frank Denis
ee2403deba Check for RDRAND presence 2017-11-25 17:53:33 +01:00
Frank Denis
b9d6139178 Check for alloca() 2017-11-10 02:22:38 +01:00
Frank Denis
e7d85070dc Use the default autoconf action to check for libctgrind 2017-11-06 23:34:45 +01:00
Frank Denis
e52ab67322 Detect ctgrind 2017-11-03 17:15:02 +01:00
Frank Denis
09ecb47a53 Use -O in debug mode 2017-10-05 10:41:15 +02:00
Frank Denis
c19946296c FORTIFY_SOURCE -> _FORTIFY_SOURCE 2017-10-05 10:35:50 +02:00
Frank Denis
022f783cfc Re-enable all warnings with --enable-debug 2017-10-05 10:31:19 +02:00
Frank Denis
b3ccb20078 Enable some extra compiler warnings 2017-10-05 09:11:27 +02:00
Frank Denis
aa67295dae Undefine FORTIFY_SOURCE in debug mode 2017-10-01 14:59:41 +02:00
Frank Denis
a8ebd37b7b Bump library version 2017-10-01 10:15:48 +02:00
Frank Denis
558355e566 Check if SIGABRT can be trapped multiple times in a row 2017-09-19 22:33:09 +02:00
Frank Denis
ae515a16aa Bring back -fno-asynchronous-unwind-tables on MingW 2017-09-15 15:50:51 +02:00
Frank Denis
1f8056ab11 Use #error in autoconf tests 2017-09-15 15:26:19 +02:00
Frank Denis
147d8b6205 Disable AVX512 on MingW even harder 2017-09-15 15:24:13 +02:00
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