Alex Rønne Petersen
5db9eaa851
std.Io.Threaded: use ResetEventPosix on illumos
...
Like NetBSD, illumos has no futexes.
ref #25760
2025-11-01 16:18:56 +01:00
Frank Denis
95c76b1b4a
Add std.crypto.hash.sha3.{KT128,KT256} - RFC 9861. ( #25593 )
...
KT128 and KT256 are fast, secure cryptographic hash functions based on Keccak (SHA-3).
They can be seen as the modern version of SHA-3, and evolution of SHAKE, with better performance.
After the SHA-3 competition, the Keccak team proposed these variants in 2016, and the constructions underwent 8 years of public scrutiny before being standardized in October 2025 as RFC 9861.
They uses a tree-hashing mode on top of TurboSHAKE, providing both high security and excellent performance, especially on large inputs.
They support arbitrary-length output and optional customization strings.
Hashing of very large inputs can be done using multiple threads, for high throughput.
KT128 provides 128-bit security strength, equivalent to AES-128 and SHAKE128, which is sufficient for virtually all applications.
KT256 provides 256-bit security strength, equivalent to SHA-512. For virtually all applications, KT128 is enough (equivalent to SHA-256 or BLAKE3).
For small inputs, TurboSHAKE128 and TurboSHAKE256 (which KT128 and KT256 are based on) can be used instead as they have less overhead.
2025-11-01 14:03:43 +00:00
Alex Rønne Petersen
4e943fc847
std.c: add missing MINSIGSTKSZ for some FreeBSD targets
2025-11-01 09:58:05 +01:00
Frank Denis
d5585bc650
Implement threaded BLAKE3 ( #25587 )
...
Allows BLAKE3 to be computed using multiple threads.
2025-11-01 07:40:03 +01:00
Jay Petacat
5a38dd28dc
std: Skip element comparisons if mem.order args point to same memory
...
This optimization is used in `mem.eql`, but was missing from `order`,
`orderZ`, and `ascii.orderIgnoreCase`.
2025-10-31 18:34:33 -07:00
Alex Rønne Petersen
8468549726
std.Target: bump vulkan max version to 1.4.331
2025-10-31 15:46:44 +01:00
Alex Rønne Petersen
d677086bcd
std.Target: bump opencl/nvcl max version to 3.0.19
2025-10-31 15:46:29 +01:00
Alex Rønne Petersen
adbf46aef3
std.Target: bump cuda max version to 13.0.2
2025-10-31 15:46:08 +01:00
Alex Rønne Petersen
802ee515d8
std.Target: bump amdhsa max version to 7.1.0
2025-10-31 15:45:57 +01:00
Alex Rønne Petersen
27c949689e
std.Target: bump wasi max version to 0.3.0
2025-10-31 15:45:43 +01:00
Alex Rønne Petersen
3801e6366f
std.Target: bump dragonfly max version to 6.4.2
2025-10-31 15:45:26 +01:00
Alex Rønne Petersen
a9c648c060
std.Target: bump linux max version to 6.17
2025-10-31 15:45:13 +01:00
Alex Rønne Petersen
0116d98093
std.Target: bump fuchsia max version to 28.0.0
2025-10-31 15:45:01 +01:00
Alex Rønne Petersen
38413446b0
std.Target: bump contiki max version to 5.1.0
2025-10-31 15:44:47 +01:00
qilme
8347791ce3
std.os.windows: eliminate forwarder function in kernel32 ( #25766 )
...
#1840
kernel32.AddVectoredExceptionHandler -> ntdll.RtlAddVectoredExceptionHandler
kernel32.RemoveVectoredExceptionHandler -> ntdll.RtlRemoveVectoredExceptionHandler
kernel32.ExitProcess -> ntdll.RtlExitUserProcess
kernel32.InitializeCriticalSection -> ntdll.RtlInitializeCriticalSection
kernel32.EnterCriticalSection -> ntdll.RtlEnterCriticalSection
kernel32.LeaveCriticalSection -> ntdll.RtlLeaveCriticalSection
kernel32.DeleteCriticalSection -> ntdll.RtlDeleteCriticalSection
kernel32.TryAcquireSRWLockExclusive -> ntdll.RtlTryAcquireSRWLockExclusive
kernel32.AcquireSRWLockExclusive -> ntdll.RtlAcquireSRWLockExclusive
kernel32.ReleaseSRWLockExclusive -> ntdll.RtlReleaseSRWLockExclusive
kernel32.WakeConditionVariable -> ntdll.RtlWakeConditionVariable
kernel32.WakeAllConditionVariable -> ntdll.RtlWakeAllConditionVariable
kernel32.HeapReAlloc -> ntdll.RtlReAllocateHeap
kernel32.HeapAlloc -> ntdll.RtlAllocateHeap
2025-10-31 13:54:50 +00:00
TibboddiT
62de7a2efd
fix typo in std.debug.ElfFile.loadSeparateDebugFile
...
closes #25667
2025-10-31 09:44:47 +01:00
Jacob Young
d000574380
Io: fix some horrible data races and UAFs caused by Condition misuse
2025-10-30 16:53:05 -04:00
Alex Rønne Petersen
0ca4df540f
std.debug.cpu_context: fix signal_ucontext_t for arm-linux
2025-10-30 20:28:31 +01:00
Jacob Young
5b060ef9d4
Merge pull request #25558 from jacobly0/elfv2-load-obj
...
Elf2: start implementing input object loading
2025-10-30 12:09:13 -04:00
Matthew Lugg
0dde70ef76
std.Build: fix '--webui' crash
...
Using '--webui' without '--time-report' when there are Run steps in the
graph was regressed by https://github.com/ziglang/zig/pull/25029 .
2025-10-30 09:31:30 +00:00
Matthew Lugg
9215121688
std.log: colorize output in default implementation
...
Also remove the example implementation from the file doc comment; it's
better to just link to `defaultLog` as an example, since this avoids
writing the example implementation twice and prevents the example from
bitrotting.
2025-10-30 09:31:30 +00:00
Matthew Lugg
74931fe25c
std.debug.lockStderrWriter: also return ttyconf
...
`std.Io.tty.Config.detect` may be an expensive check (e.g. involving
syscalls), and doing it every time we need to print isn't really
necessary; under normal usage, we can compute the value once and cache
it for the whole program's execution. Since anyone outputting to stderr
may reasonably want this information (in fact they are very likely to),
it makes sense to cache it and return it from `lockStderrWriter`. Call
sites who do not need it will experience no significant overhead, and
can just ignore the TTY config with a `const w, _` destructure.
2025-10-30 09:31:28 +00:00
John Benediktsson
74c23a237e
Merge pull request #25763 from mrjbq7/cancelled
...
rename Cancelled to Canceled
2025-10-30 04:40:13 +00:00
Jacob Young
1d80c9540a
Threaded: fix safety crashes
2025-10-29 21:01:47 -04:00
Alex Rønne Petersen
767f28d7a6
Merge pull request #25733 from GasInfinity-Forks/x86_16-cpu_context
...
* fix: add `i86` cpu in `update_cpu_features`
* feat: add `x86_16` debug `cpu_context`
2025-10-30 01:41:32 +01:00
Jacob Young
0834e696f7
Elf2: start implementing dynamic linking
2025-10-29 18:15:09 -04:00
Jacob Young
c4478e078b
Elf2: load archives
2025-10-29 18:07:12 -04:00
Jacob Young
7542c3260f
Elf2: load relocations from input objects
2025-10-29 18:06:17 -04:00
Andrew Kelley
a072d821be
Merge pull request #25592 from ziglang/init-std.Io
...
std: Introduce `Io` Interface
2025-10-29 13:51:37 -07:00
Andrew Kelley
16185f66f1
std.http: disable failing test on 32-bit arm
...
tracked by https://github.com/ziglang/zig/issues/25762
2025-10-29 13:50:04 -07:00
Alex Rønne Petersen
b2bc44e0d5
std.os.linux: fix restore for powerpc/powerpc64
...
sigreturn and rt_sigreturn are distinct syscalls on PowerPC.
2025-10-29 20:44:43 +01:00
GasInfinity
ef4f6e6c05
feat: add x86_16 debug cpu_context
2025-10-29 14:35:33 +01:00
GasInfinity
fca748ffba
fix: add i86 cpu in update_cpu_features
2025-10-29 14:34:58 +01:00
Andrew Kelley
0205ce4736
std.os.linux.IoUring: disable failing test
...
tracked by https://github.com/ziglang/zig/issues/25734
2025-10-29 06:26:05 -07:00
Andrew Kelley
e8e1e2793a
std.Io: make select unit test not depend on cancellation
2025-10-29 06:26:05 -07:00
Alex Rønne Petersen
a7119d4269
remove all IBM AIX and z/OS support
...
As with Solaris (dba1bf935390ddb0184a4dc72245454de6c06fd2), we have no way to
actually audit contributions for these OSs. IBM also makes it even harder than
Oracle to actually obtain these OSs.
closes #23695
closes #23694
closes #3655
closes #23693
2025-10-29 14:25:51 +01:00
Andrew Kelley
b1d270d38e
std.os.linux.s390x: fix restore function
2025-10-29 06:20:52 -07:00
Andrew Kelley
05b28409e7
std.Io.Threaded: install and cleanup signal handlers
...
rather than in start code. delete std.options.keep_sig_io and
std.options.keep_sig_pipe
2025-10-29 06:20:52 -07:00
Andrew Kelley
b863f2548b
std.Io.Threaded: handle -fsingle-threaded in unit tests
2025-10-29 06:20:52 -07:00
Andrew Kelley
1c0a8b8fe4
std.hash_map: tune slow unit tests
...
These are the only two unit tests that take longer than 1s on my
computer.
2025-10-29 06:20:52 -07:00
Andrew Kelley
a45cafb7f0
std.Io: add unit test for select
2025-10-29 06:20:52 -07:00
Andrew Kelley
c40204a3e5
std.Io: add unit tests for Group and concurrent
2025-10-29 06:20:52 -07:00
Andrew Kelley
03fd132b1c
std.Io: fix Group.wait unsoundness
...
Previously if a Group.wait was canceled, then a subsequent call to
wait() or cancel() would trip an assertion in the synchronization code.
2025-10-29 06:20:52 -07:00
Andrew Kelley
6c794ce7bc
std.Io.Threaded.dirOpenFileWtf16: SHARING_VIOLATION
...
is the error code that needs the kernel bug workaround, not
ACCESS_DENIED.
2025-10-29 06:20:52 -07:00
Andrew Kelley
6f64c8b693
std.debug.SelfInfo.Windows: less invasive change
...
restores code closer to master branch in hopes of avoiding a regression
that was introduced when this was based on openSelfExe rather than
GetModuleFileNameExW.
2025-10-29 06:20:52 -07:00
Andrew Kelley
1553c8eae7
std.os.linux.x86: fix signal restore function
...
After handling any signal on x86, it would previously segfault.
2025-10-29 06:20:52 -07:00
Andrew Kelley
030b630829
std.Io.Threaded: fix EBADF error code on wasm32-wasi -lc when reading
2025-10-29 06:20:52 -07:00
Andrew Kelley
c4dc7d7c3d
std.Io.Threaded: implement Unix sockets for Windows
2025-10-29 06:20:52 -07:00
Andrew Kelley
b39f3d294d
std.Io.Threaded: implement dirMakeOpenPath for WASI
...
and fix error code when file operation occurs on director handle
2025-10-29 06:20:52 -07:00
Andrew Kelley
4114392369
std: fix definition of ws2_32.GetAddrInfoExW
...
There was a missing parameter.
2025-10-29 06:20:52 -07:00