Commit Graph

344 Commits

Author SHA1 Message Date
Frank Denis
203220116a Temporarily disable getentropy()/getrandom() when using ASAN
ASAN assumes a recent version of the C library has been installed and
may end up intercepting functions that didn't exist if the actual C
library is old.
2019-08-29 17:48:20 +02:00
Frank Denis
f7695fd634 Use AC_LINK_IFELSE for everything using inline assembly 2019-08-16 13:09:57 +02:00
Frank Denis
4b448b5095 Use AC_LINK_IFELSE instead of _COMPILE_IFELSE for cpuid detection
This apparently works around a bug on OpenSuSE on ARM and PPC when
LTO is enabled.

Still, as documented, LTO shouldn't be used when compiling the library.
2019-08-16 12:28:42 +02:00
Frank Denis
940ef42797 1.0.18 2019-05-30 21:57:51 +02:00
Frank Denis
eebf2255ca Regen 2019-03-30 11:25:40 +01:00
Frank Denis
dfa8222d27 POSIX threads can be available while mutexes are not implemented
This is the odd case of WASI right now
2019-03-30 11:23:20 +01:00
Frank Denis
697a371a42 Don't enable the stack protector on unknown operating systems 2019-03-16 00:21:31 +01:00
Luca Boccassi
ecdcf55173 Add -pthread to pkgconfig's Libs.private if enabled
Allows static builds to correctly inherit the pthread dependency when
used with pkg-config --static --libs libsodium

AC_SUBST doesn't require explicit values

Regen autoconf

Fixes #800
2019-01-15 00:29:20 +01:00
Frank Denis
c2a98a170f Try -ftree-vectorize and -ftree-slp-vectorize for optimized builds 2019-01-07 12:26:30 +01:00
Frank Denis
4adf25c39f Bump DLL version 2019-01-06 17:25:35 +01:00
Frank Denis
462e9a648b local-dynamic is enough 2019-01-06 05:04:34 +01:00
Frank Denis
79d6a211b2 Set tls-model only if TLS is supported 2019-01-06 04:52:41 +01:00
Frank Denis
0157a378ca Enable -ftls-model=global-dynamic if available 2019-01-06 04:45:50 +01:00
Frank Denis
b7cb241eb9 Bump SODIUM_LIBRARY_VERSION_MINOR 2019-01-05 22:09:32 +01:00
Frank Denis
a01c5f8fd8 Add a conditional to enable retpoline support
Using retpoline in userland code that doesn't run arbitrary code is
questionable to start with.

Linux is also getting SPECTRE v2 userspace-to-userspace protection.

In addition, some platforms have a gcc version that advertises
support for retpolines, but the resulting binaries simply don't work
or cannot be linked.

So, do not enable this by default. Let builders choose if they
really want to enable this in their builds.
2019-01-04 12:43:47 +01:00
Frank Denis
ef3e5aadc7 Don't try to enable retpolines on Emscripten & pnacl 2018-12-30 13:45:09 +01:00
Frank Denis
f3ce049a98 Bump to 1.0.17
Not released yet. This is just to encourage people to test the current
code.
2018-12-30 12:04:52 +01:00
Frank Denis
b1b031106c ISODATE is not used 2018-12-26 23:10:56 +01:00
Frank Denis
762e5136ed Merge old compiler detection with AVX512f support detection
Maybe
fixes #786
2018-11-30 15:18:52 +01:00
Frank Denis
e60bb52a33 Disable AVX512 when using ancient versions of GCC 2018-10-31 10:38:09 +01:00
David Carlier
b3ba348d08 Provides explicit_memset supports/NetBSD.
Similar to explicit_bzero function is to defeat
compiler optimisation.
2018-09-29 19:19:23 +01:00
Frank Denis
bc7eb925bb Clarify what --disable-asm does 2018-07-03 18:01:27 +02:00
Frank Denis
28e62a6c86 Use only -mindirect-branch=thunk / -mretpoline for now
Move the application of these flags up
2018-02-21 01:59:15 +01:00
Frank Denis
1655dede9f Add retpoline support for clang
Assembly implementations don't seem to be using any indirect calls
2018-02-21 01:52:43 +01:00
Loganaden Velvindron
1203d721ce Add spectre v2 migitations for GCC 2018-02-18 18:58:24 +04:00
Frank Denis
673b2b2b1e Revert "Check for -mretpoline / -zretpolineplt support"
This reverts commit 93887f179d.
2018-01-17 01:28:35 +01:00
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