Alex Rønne Petersen
8a113f83d4
Merge pull request 'Linux 7.0 headers + syscalls' ( #32019 ) from alexrp/zig:linux-7.0 into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/32019
2026-04-22 16:32:24 +02:00
Alex Rønne Petersen
73c51c142c
ci: update QEMU to 11.0.0
2026-04-22 16:31:08 +02:00
Jacob Young
c0e90312fc
test: c abi regression tests for aarch64 failures
2026-04-22 14:35:22 +02:00
Jacob Young
97ef8f1f8e
llvm: pass more c abi tests on aarch64
...
This is not what clang does, and is definitely wrong on big endian,
but lets at least pass the following simple tests first.
2026-04-22 14:35:22 +02:00
Alex Rønne Petersen
b985404569
std.os.linux: update syscalls to 7.0
2026-04-22 08:37:56 +02:00
Alex Rønne Petersen
7ec6872cc4
libc: update Linux headers to 7.0
2026-04-22 08:37:15 +02:00
Alex Rønne Petersen
8bf72740e3
std.os.linux.IoUring: disable tests on PowerPC
...
https://codeberg.org/ziglang/zig/issues/31562
2026-04-22 08:27:51 +02:00
glowsquid
0b768cd9dd
zig reduce: fix compilation ( #31930 )
...
fixes #31926
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31930
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-04-22 02:00:41 +02:00
Chris Boesch
3ea77badf9
libc: strdup, strndup, wcsdup ( #31935 )
...
Contributes to: #30978
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31935
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-04-22 01:57:58 +02:00
Pavel Verigo
22945fbbdc
stage2-wasm: vector, std tests
2026-04-22 00:19:46 +02:00
Pavel Verigo
36faf76fe1
AstGen: add missing addRestoreErrRetIndex calls when handling for/while expr
...
Fixes #30912
2026-04-22 00:17:52 +02:00
Andrew Kelley
d4cac43d30
Merge pull request 'libc: add common implementations of pthread_spin_*' ( #31990 ) from GasInfinity/zig:pthread-spin into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31990
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-04-21 22:29:33 +02:00
Ryan Liptak
cfde9303ff
Fetch: Fix zip fetching when cache directory doesn't have tmp dir
...
Fixes #31964
2026-04-21 18:07:36 +02:00
Andrew Kelley
b5d8966e05
Merge pull request 'package fetching fixes and enhancements' ( #31992 ) from fetch-enhancements into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31992
2026-04-21 18:06:13 +02:00
GasInfinity
f8e9593851
fix: wasm requires strict function prototypes
...
* `pthread_mutex_*` and friends are also invalid then but they're not
currently tested (and there's no wasi prong in `pthread_mutex_t`)
2026-04-21 14:45:24 +02:00
GasInfinity
a2a91199d7
fix: add pthread_spin_* definitions for the BSDs in std.c
...
* each BSD has a different one
2026-04-21 10:31:47 +02:00
GasInfinity
61cd38e8ac
feat(libzigc): add common implementations of pthread_spin_*
...
* and remove their mingw, musl and wasi implementations
2026-04-21 09:03:06 +02:00
Andrew Kelley
74b56501b3
fetch: fix the check against package paths escaping root
2026-04-20 21:45:12 -07:00
Andrew Kelley
4636a761cb
fetch: fix "unable to open" error message
2026-04-20 19:59:17 -07:00
Andrew Kelley
bc9fabcc3f
zig fetch: add --debug-log [scope] arg
2026-04-20 19:58:39 -07:00
Andrew Kelley
3a9b16db44
zig fetch: detect global vs local mode via --save
...
Makes `zig fetch` only fetch globally, just like it used to. However, if
`--save` (or any variant) is used, then it also fetches locally.
When fetching by path, the hash is always computed, recompressed tarball
is always created, always overwrites any existing global cache entry.
closes #31818
closes #31866 (only requires build.zig file when --save is passed)
2026-04-20 18:45:16 -07:00
Ryan Liptak
3252a05531
Prefer <err> => |e| return e over <err> => return <err>
...
Avoids the potential for a typo on the `return <err>` side of the prong
2026-04-20 18:03:14 -07:00
Andrew Kelley
f887bea4d3
fix overridden pkg dir path
...
the previous code made it relative to the build directory
also add a corresponding env var and logic for build command
2026-04-20 16:38:05 -07:00
Jan200101
5586a1f4ee
zig fetch: add option to overwrite the package directory
2026-04-20 16:38:05 -07:00
Frank Denis
98cc059622
crypto.asn1.Oid: Reject empty OID encodings ( #31983 )
...
The DER decoder accepted zero-length OID payloads producing an Oid value that would panic later.
Co-authored-by: Frank Denis <github@pureftpd.org >
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31983
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
Co-authored-by: Frank Denis <jedisct1@noreply.codeberg.org >
Co-committed-by: Frank Denis <jedisct1@noreply.codeberg.org >
2026-04-20 21:54:04 +02:00
Frank Denis
98ddebc380
std.crypto.Certificate: fix UTCTime year interpretation
...
UTCTime years in the range 50-99 must map to 1950-1999, but the
parser unconditionally added 2000, producing dates 100 years in the
future.
This caused verify() to accept certificates whose validity actually
expired decades ago.
Change that to match what OpenSSL, BoringSSL, etc. do
2026-04-20 21:45:08 +02:00
Frank Denis
525aff6048
std.crypto.ascon: fix streaming XOF/CXOF
...
AsconXof128 and AsconCxof128 were applying the padding in update()
calls. That was totally fine for one-shot hashing, but not for
streaming (multiple update() calls before finalization).
2026-04-20 18:29:46 +02:00
Frank Denis
3a07f50dab
std.crypto.ml_kem tests: simplify incV
...
We don't need to reimplement 16-byte subtraction, just use a
u128. As a bonus, that handles the theoretical case of an all-0xff
value properly.
2026-04-20 18:27:22 +02:00
Frank Denis
858d7eda65
Merge pull request 'io: make toClock compile' ( #31966 ) from sinon/zig:fix-io-clock into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31966
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-04-20 16:58:12 +02:00
Frank Denis
c51e26887e
Merge pull request 'tls.Client: reject empty TLS 1.3 inner plaintext and short records' ( #31972 ) from jedisct1/zig:empty-plaintext-underflows-content-type-parsing into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31972
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-04-20 16:57:41 +02:00
nektro
259e4cf9fd
std.ArrayHashMap: this workaround is no longer necessary
2026-04-20 16:49:52 +02:00
Frank Denis
ac7e895df0
tls.Client: reject empty TLS 1.3 inner plaintext and short records
...
After decryption, TLS 1.3 plaintext is trimmed of zero padding, then
the last byte is read as the content type.
But when the plaintext was entirely zero padding, we got a
"thread panic: integer overflow at msg.len - 1" error. That could be
triggered by any server to crash the client.
2026-04-20 12:07:51 +02:00
Andrew Kelley
4e2147d14e
Merge pull request 'Fix uefi (un)installMultipleProtocolInterfaces' ( #31934 ) from mrosowski/zig:uefi-fix-install-multiple into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31934
Reviewed-by: linus <mail@linusgroh.de >
2026-04-20 07:05:35 +02:00
Andrew Kelley
6067a8b1a0
Merge pull request 'std.Io.Dir: fix incorrect return types in setFileOwner and setTimestampsNow' ( #31940 ) from lukasl/zig:fix-dir-setfileowner-error-type into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31940
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-04-20 02:23:17 +02:00
David Rubin
a0a36bf92e
io: make toClock compile
2026-04-19 16:58:12 -07:00
Alex Kladov
76174e1bce
fuzz: don't err if .zig-cache/tmp doesn't exist
...
If we have just created cache_dir_path, then there's no `tmp` dir
there, and
cache_dir.createFile(io, "tmp/libfuzzer.log", .{ .truncate = false })
fails.
Tested via
$ zig version
0.16.0
$ zig build --zig-lib-dir ~/p/zig/lib/ --fuzz
2026-04-20 01:20:52 +02:00
Pavel Verigo
d840583458
remove AIR .bool_or/.bool_and
2026-04-19 21:49:51 +02:00
Andrew Kelley
dea6914aaa
bootstrap.c: fix zig2 version
...
This should have been part of the "start the release cycle" commit.
2026-04-19 11:25:59 -07:00
Andrew Kelley
b0f6889d12
Merge pull request 'docs: langref: Clear up terminology used for top-level doc comments' ( #31920 ) into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31920
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-04-19 10:38:24 -07:00
Andrew Kelley
571388a93d
langref: use the word "namespace" instead of "container"
2026-04-19 10:38:01 -07:00
Sage Hane
f0649e7709
langref: Clear up terminology used for top-level doc comments
2026-04-19 10:12:22 -07:00
Andrew Kelley
50f96d2ca1
std.Io.Dir: add type checking for those two functions
2026-04-19 10:08:23 -07:00
Lukas Lalinsky
52e06ce4f6
std.Io.Dir: fix incorrect return types in setFileOwner and setTimestampsNow
...
`setFileOwner` declared `SetOwnerError!void` but its vtable method
returns the wider `SetFileOwnerError!void` (adds `NameTooLong` and
`BadPathName`), so any call through the wrapper fails to compile.
`setTimestampsNow` dispatched to `io.vtable.fileSetTimestamps` with
`(Dir, []const u8, Dir.SetTimestampsOptions)`, but that vtable entry
takes `(File, File.SetTimestampsOptions)`. The intended target is
`dirSetTimestamps`, whose signature matches the call site.
2026-04-19 10:07:44 -07:00
Andrew Kelley
9b177a7d21
Merge pull request 'Rework StackFallbackAllocator' ( #31841 ) into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31841
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-04-18 14:52:12 -07:00
Mason Remaley
e2c3920fb1
Renames buffer first allocator in compiler and std
2026-04-18 14:51:49 -07:00
Mason Remaley
6d40d374d8
Merges together the two buffer first allocator implementations
2026-04-18 14:51:49 -07:00
Mason Remaley
8c96487bb9
Updates all uses of StackFallbackAllocator
2026-04-18 14:51:49 -07:00
Mason Remaley
a4d8e9608e
Reworks the stack fallback allocator
...
The previous approach had a few downsides:
1. You couldn't set the alignment of the internal buffer. Many callers in
the standard library trying to use this for a small vec style
optimization worked around this by setting the alignment for
the struct itself, this ends up very verbose and also assumes a
specific layout for the struct which isn't guaranteed.
2. It was generic over the size of the buffer. This type is used a lot in
std with various sizes.
3. It has an awkward API where you had to call get which mutated the type
unlike all other allocators, and then had a runtime check to make sure
you didn't get this wrong.
The new approach resolves all of these issues by just taking the buf as
an argument.
This is particularly amenable to smallvec style optimizations: you can
just declare the buf as an array of the item you want to allocate to get
the exact minimum size.
2026-04-18 14:51:49 -07:00
jmcaine
73ecc6333f
std: implement heap.StackFirstAllocator
...
second attempt
2026-04-18 14:51:25 -07:00
Andrew Kelley
0346aef2da
Merge pull request 'limb64: make fixLastLimb endian aware' ( #31910 ) from pavelverigo/zig:limb64-be-fixes into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31910
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-04-18 23:46:34 +02:00