1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-20 02:25:14 -07:00
Commit Graph

382 Commits

Author SHA1 Message Date
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
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