4437 Commits

Author SHA1 Message Date
Frank Denis
589d67b839 configure.ac: fix typos in warning flags 2025-10-04 14:03:33 +02:00
Frank Denis
09e995c0c8 Relax ((nonnull)) attributes where applicable
Reported by @stef -- Thanks!

Fixes #1477
2025-09-12 23:07:20 +02:00
Frank Denis
800410cfe7 Generate position-independent static libraries by default
".pie" on a static library enables PIC when it is supported by the
target.

Fixes #1474
2025-09-12 23:00:20 +02:00
Frank Denis
85ddc5c2c6 apple-xcframework.sh: remove i386 iOS simulators 2025-08-28 23:09:19 +02:00
Frank Denis
93030d2cae apple-xcframework.sh: force cross-compilation when relevant
Works around instabilities of the latest Tahoe beta version
2025-08-28 23:04:19 +02:00
Frank Denis
ce526f94aa apple-xcframework.sh: remove support for iOS32 2025-08-28 15:39:50 +02:00
Frank Denis
110138f3cd Wasmer now needs --mapdir=./:. to load files from the current directory 2025-08-27 22:56:54 +02:00
Frank Denis
e6d6321ab5 More optblockers.
- ristretto255_is_canonical
- fe25519_reduce64
- ge25519_from_uniform
2025-08-27 20:33:07 +02:00
Frank Denis
def5b9d306 Add -Werror=vla 2025-08-22 12:11:40 +02:00
Frank Denis
377a6640e8 Update for Zig 0.15 2025-08-22 12:04:40 +02:00
Frank Denis
59b8ba3573 Include <threads.h> if it exists 2025-07-30 23:04:45 +02:00
Frank Denis
4f21b2f4af Remove duplicate include 2025-07-30 23:03:45 +02:00
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