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
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