Commit Graph
4475 Commits
Author SHA1 Message Date
Frank Denis d2c7817500 Update m4/ax_add_fortify_source.m4 and m4/ax_valgrind_check.m4 2025-07-30 12:34:58 +02:00
Frank Denis c390510484 Update for zig-current 2025-07-15 23:06:45 +02:00
Frank Denis fd8c876bb5 Update mlugg/setup-zig 2025-06-06 12:00:10 +02:00
Frank Denis 135fe28fc5 Sync ChangeLog 2025-06-06 12:00:10 +02:00
Frank Denis d537f3010a Improve AES256-GCM performance on ARM 2025-05-21 23:11:26 +02:00
Frank Denis 8466abb280 Reorder arguments to vaeseq_u8 to improve AArch64 performance
The register arguments to the AESE instruction are commutative, however
the first input register is constrained in that it also names the output
register. The constraint on register allocation causes recent LLVM
versions to emit a lot of MOV instructions, significantly impacting
performance.

Swapping the register operands allows the compiler to emit significantly
fewer MOV instructions. This change improves performance on Arm
infrastructure micro-architectures by 14-36% depending on the
micro-architecture

Found and reported by George Steed from ARM. Thanks!
2025-05-21 23:04:26 +02:00
Frank Denis 3e12b517ee tests/sodium_utils3: skip SIGSEGV check when tsan is enabled
Fixes #1450
2025-05-08 22:56:10 -06:00
Jesús López f59e862f40 Add Android binaries to NuGet package (#1455)
Add android binaries to NuGet package
2025-05-08 14:28:33 +02:00
Frank Denis d67b1e8f8d Nits 2025-04-30 01:41:32 +02:00
Frank Denis 72fdf1b86c MSC_VER -> _MSC_VER 2025-04-22 11:33:28 +02:00
Frank Denis 25d2455a42 Nits 2025-04-03 23:01:40 +02:00
Frank Denis 34b2a97dcd Improve the README file 2025-04-03 23:01:40 +02:00
Frank Denis 6ea1d03300 Update msys2 2025-02-21 12:40:26 +01:00
Frank Denis a808f37cdf Add autocloser.yml 2025-02-20 15:50:15 +01:00
Frank Denis a5d5870088 qemu -> qemu-system 2025-02-20 15:43:34 +01:00
Frank Denis e9b1fa92c9 Import dist-build/android-aar.sh readability 2025-02-20 15:36:43 +01:00
Frank Denis 4d96d503f0 Try to go to the NDK directory containing "source.properties" 2025-02-20 15:14:07 +01:00
Frank Denis 97616c3ace Check for ANDROID_NDK definition in android-aar.sh
Otherwise, the script can report success even though nothing compiles.
2025-02-20 15:03:06 +01:00
Frank Denis 8ee7c45005 target.result.isWasm() -> target.result.cpu.arch.isWasm() 2025-02-20 14:53:08 +01:00
Frank Denis ea2d5b11dc Indent Android build scripts 2025-02-20 14:50:57 +01:00
ReenigneCA 5d1aea483f Android build scripts update for SDK level (#1443)
* Android build scripts: Changed default SDK level to 21; enabled specifying NDK_PLATFORM environment variable for custom SDK level; misc cleanup of Android build scripts

* Update android-aar.sh

I forgot to hit save on the script after making this change locally. The script works either way but by setting this value again in android-build.sh people can more easily build arch specific binaries if they want so the export is unnecessary but also rather meaningless.
2025-02-20 14:37:26 +01:00
Frank Denis 59a98bc7f9 <stdio.h> shouldn't be required 2025-01-26 23:02:41 +01:00
Frank Denis b6bfaf5ab9 Check that __cpuid() is not a macro 2025-01-19 13:37:01 +01:00
Frank Denis 46b0e12e00 CI: upgrade Android SDK from 25c to 27c 2025-01-16 23:01:55 +01:00
Frank Denis 9c530b8aff Set the default Android platform to 21
Also explain that the "zip" command is required to build AAR archives
and that NDK_PLATFORM can be used to override the target platform.

Fixes #1440
2025-01-16 14:37:51 +01:00
Frank Denis ce07d6c82c 2025 2025-01-01 21:03:34 +01:00
Frank Denis 1d9fec9566 apple-xcframework: add arm64e builds 2024-12-21 17:00:51 +01:00
Frank Denis 091adefb44 defineCMacro -> root_module.addCMacro 2024-12-20 12:16:03 +01:00
Frank Denis 8ff7587f66 Remove links 2024-12-12 17:27:11 +01:00
Frank Denis c4238e916d Expand the issue templates 2024-12-12 17:25:22 +01:00
Frank Denis f9eeae6c7e Update to upload-artifact@v4 2024-12-10 23:29:46 +01:00
Frank Denis 70eaf4d190 Build libsodium.dll with VC++ for win-arm64
Fixes #1431
2024-12-10 23:03:55 +01:00
Frank Denis eba3a42372 dotnet-core CI: update Zig to version nightly 0.14.x
This fixes the compatibility issues with DLLs for Windows ARM64
2024-12-10 22:45:18 +01:00
Frank Denis 7dea8e7356 xcframework: build full builds by default 2024-12-10 14:32:56 +01:00
Frank Denis bfa6ee6386 Merge branch 'master' of github.com:jedisct1/libsodium
* 'master' of github.com:jedisct1/libsodium:
  Fix `buildbase.bat` for ARM64:
  Use uint64_t sizes in aegis*_mac()
2024-12-09 01:16:56 +01:00
Frank Denis 5be04ea60e Update MSYS2 to 2024-12-08 2024-12-09 01:16:44 +01:00
nil4 39d280b2be Fix buildbase.bat for ARM64:
- update version check to use **greater-than-or-equal**, i.e. to include VS 2019 **and** 2022 (or later versions)
- select the `ARM64` environment (`x86_arm64` is not valid)
2024-12-04 17:36:51 +01:00
Frank Denis 584f61dcd4 Use uint64_t sizes in aegis*_mac()
No-op in libsodium for now, but useful if we introduce a streaming
API later.
2024-12-04 17:22:07 +01:00
Frank Denis 985ad65bfb Remove a non-constant modulo operation in argon2
Adapted from a change originally written by @Sc00bz
2024-11-09 13:24:26 +01:00
Frank Denis cd6b337b37 Switch from goto-bus-stop/setup-zig to mlugg/setup-zig 2024-11-04 00:02:13 +01:00
Frank Denis cd92e5cfc8 Sync softaes with libaegis 2024-10-23 22:10:27 +02:00
Frank Denis 0c1a25e9d1 Use an optblocker in crypto_verify_n() 2024-10-23 19:58:33 +02:00
Frank Denis 51d2455cd8 Decrement and shift in separate steps 2024-10-23 19:51:10 +02:00
Frank Denis d0eb23e532 Add assembly versions of equal() and negative() 2024-10-23 19:24:13 +02:00
Frank Denis d6dd9c3ce0 More optblocker usage 2024-10-23 19:08:20 +02:00
Frank Denis b1f9c53875 Add another optblocker 2024-10-23 18:42:48 +02:00
Frank Denis 7154fb9041 randombytes_internal_random.c: move clang target attribute down
Specifically, move it after the system includes.

This appears to address an issue with clang 18 when cross-compiling
to windows.

Fixes #1413
2024-09-26 21:59:59 +02:00
Frank Denis b4ad79202b dotnet-core.yml: try setting include-hidden-files: true
Fixes #1414
2024-09-26 21:12:51 +02:00
Frank Denis babb0dd860 Sync 2024-09-25 21:42:41 +02:00
Frank Denis beec06eb46 Revert "RFC9381 ECVRF implementation (#1188)"
This reverts commit 7978205916.
2024-09-25 21:37:31 +02:00