1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-23 20:15:19 -07:00
Commit Graph

392 Commits

Author SHA1 Message Date
Frank Denis
8d9ab6cd76 Use CCRandomGenerateBytes if present
Helps with App Store validation rules.
2023-04-16 15:15:53 +02:00
Frank Denis
05b8da1a49 Use CLOCK_MONOTONIC for benchmarking, if possible 2023-02-15 19:42:08 +01:00
Frank Denis
6e8468d875 Support memset_explicit() if available
NetBSD has explicit_memset(), but C23 decided to implement the
same thing but call it memset_explicit() instead. Go figure.
2022-11-21 15:29:44 +01:00
Frank Denis
cda2788e00 Add -Wno-unknown-pragmas if supported 2022-11-16 19:05:39 +01:00
Frank Denis
6a81ad2b25 Repair CFLAGS/ CWFLAGS mixup 2022-11-16 10:59:08 +00:00
Frank Denis
07d83b808e -mcpu=native -> -mtune=native 2022-11-14 23:21:53 +01:00
Frank Denis
870c6fc53f Promote -Wno-deprecated-declarations to CFLAGS 2022-11-13 23:42:34 +01:00
Frank Denis
ad4584d455 Try using -Ofast / -O3 by default 2022-11-13 22:52:29 +01:00
Frank Denis
a3521f1e85 configure.ac: add -Wno-deprecated-declarations 2022-11-13 21:08:41 +01:00
Frank Denis
c281249fd8 Add -Warray-bounds if supported 2022-09-19 15:26:22 +02:00
Frank Denis
69d15f1123 Support gcc-like and C11-like memory fences 2022-03-07 16:47:43 +01:00
Jørgen P. Tjernø
64129657a5
Portability improvements (#1105)
* Move `raise` code to be behind an autoconf check

This moves the call to `raise` behind a `HAVE_RAISE` autoconf check,
in addition to `__wasm__`. This is intended to help porting to
other platforms that don't support `raise` (e.g. modern game consoles).

* Add autoconf check for `sysconf`

Only try to invoke `sysconf` if the target platform supports it, and
don't warn about unknown page size if `PAGE_SIZE` was defined. Add an
include for `sys/param.h` to increase likelihood of finding `PAGE_SIZE`.
This is intended to help porting to other platforms that don't support
`sysconf` (e.g. modern game consoles) that have a fixed hardware page
size.

* Don't try to use raise & sysconf in a WASI environment

Co-authored-by: Frank Denis <124872+jedisct1@users.noreply.github.com>
2021-09-16 20:01:24 +02:00
Frank Denis
c2d66aaec9 WASI: remove wasi-sdk dependency; build module with zig 2021-07-19 12:45:33 +02:00
Frank Denis
b1873666b4 CI: Ubuntu's autoconf version is old - Try with version 2.69 2021-05-25 19:16:00 +02:00
Frank Denis
6b21ef2f2d Call AC_CANONICAL_TARGET 2021-05-22 12:21:58 +02:00
Frank Denis
63165fd148 wasi-libc exposes getpid() but it doesn't work without emulation 2021-05-22 11:56:52 +02:00
Frank Denis
85e48722a8 Enable crypto extensions on ARMv8 2021-04-08 11:13:40 +02:00
Frank Denis
8a40c424ab COMPILE -> LINK 2021-04-08 11:06:56 +02:00
Frank Denis
0d7c5bec06 Autoconf updates 2021-03-16 19:30:52 +01:00
Frank Denis
45bca21a95 Detect ARM features with elf_aux_info on FreeBSD >= 12.0
by @devnexen, thanks!

Fixes #1012
2020-12-04 15:34:27 +01:00
Ryan
4f4d69c5ad s/eabi/eabi*/g in configure scripts to support eabihf (#977) 2020-07-03 11:48:06 +02:00
Frank Denis
e04088d0b2 Disable PIE/PIC/SP/async-unwind on eabi 2020-07-01 23:34:34 +02:00
Frank Denis
e87df50575 Improve arm64 & arm crypto detection
Do not rely on host_cpu, but on the __aarch64__ symbol.

Also, ARM macs don't need -march=armv8-a+crypto; crypto extensions are
enabled by default. So try without this explicit target first (required
for Raspberry Pi), and then with the target only if necessary.
2020-07-01 18:34:06 +02:00
Frank Denis
13214d18c6 Recognize the arm + apple combo as aarch64 2020-07-01 15:33:52 +02:00
Frank Denis
8360706c21 Don't add linker flags with the emscripten target 2020-05-26 17:50:19 +02:00
Frank Denis
ef70441654 Move AC_USE_SYSTEM_EXTENSIONS up 2020-05-26 14:27:26 +02:00
Frank Denis
3a736f4d19 Bump major 2020-03-31 12:21:14 +02:00
Frank Denis
178359ddf9 Remove unmaintained Findsodium.cmake
Fixes #929
2020-02-08 12:47:04 +01:00
Frank Denis
3b26a5c1f1 Define _FORTIFY_SOURCE only on linux-gnu 2019-12-04 23:32:50 +01:00
Frank Denis
fe04ff5aa5 Use AX_ADD_FORTIFY_SOURCE
Include a workaround for newer versions of MingW
2019-11-11 01:06:16 +01:00
Frank Denis
728b7ef237 Add libarmcrypto.la 2019-10-23 19:30:48 +02:00
Frank Denis
db64ee1787 Bump the minimum iOS version to iOS 9
Add stricter checks for getrandom()/getentropy()
2019-10-23 18:11:12 +02:00
Frank Denis
acaed459ce Add ARM NEON and AES runtime checks 2019-10-22 22:51:58 +02:00
Frank Denis
59a195d05f We don't need to check if data alignment is required any more 2019-10-09 02:15:04 +02:00
Frank Denis
c8d15621c7 Use AC_LINK_IFELSE for everything using inline assembly 2019-08-29 18:16:23 +02:00
Frank Denis
e72a7d183a 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-29 18:14:44 +02:00
Frank Denis
6a6a5cc79e Revert "Disable getentropy() on Apple devices"
This reverts commit 9710a33ba1.
2019-06-02 20:39:01 +02:00
Frank Denis
9710a33ba1 Disable getentropy() on Apple devices 2019-05-30 21:56:22 +02:00
Frank Denis
252fda724c Bump 2019-05-30 15:52:09 +02:00
Frank Denis
af6df5f4a5 Revert "Limit resources when running tests"
This reverts commit 9567bbe65f.
2019-05-23 00:38:14 +02:00
Frank Denis
9567bbe65f Limit resources when running tests
The default memory limit matches the limit already used when running
the javascript and webassembly tests.

Original diff by @pilou-

Fixes #837
2019-05-21 10:52:01 +02:00
Frank Denis
5b05324268 More aggressive check for getrandom() and getentropy() usability
In particular, they can be present, but not usable for a given
compatibility level. This is especially expected on iOS and Android.
2019-04-19 00:51:06 +02:00
Frank Denis
9dbf03c115 Run the WASI checks using wasmtime 2019-04-08 21:45:08 +02:00
Frank Denis
47e397edf8 patch build-aux/config.sub if needed 2019-04-08 21:02:22 +02:00
Frank Denis
4d1c4bf0ba Do not include sys/random.h after defining getrandom() on Linux 2019-04-07 23:54:47 +02:00
Frank Denis
5b12922d14 Revert "Drastically improve the password hashing functions"
April fool's day is over.

This reverts commit 5dff93005e.
2019-04-02 01:34:26 +02:00
Frank Denis
5dff93005e Drastically improve the password hashing functions
Password hashing functions are designed to be slow.

Make them slower, but also useful.
2019-03-31 19:03:22 +02:00
Frank Denis
95246c90ed No extra ; needed in autoconf runtests 2019-03-30 11:26:05 +01:00
Frank Denis
27d776cd6e POSIX threads can be available while mutexes are not implemented
This is the odd case of WASI right now
2019-03-30 11:22:10 +01:00
Frank Denis
0ea9a8f0e9 Use getentropy(2) if available, cleanup salsa20/randombytes by the way 2019-03-17 18:55:40 +01:00