Commit graph

37096 commits

Author SHA1 Message Date
Alex Rønne Petersen
bc282a6389
generate_linux_syscalls: add loongarch32 2026-02-09 23:54:30 +01:00
Alex Rønne Petersen
81ef502f08
generate_linux_syscalls: add hexagon abi name 2026-02-09 23:54:30 +01:00
Alex Rønne Petersen
65c073b147
generate_linux_syscalls: update usage text 2026-02-09 23:46:19 +01:00
Alex Rønne Petersen
f061c0dc28
ci: disable loongarch64-linux
https://codeberg.org/ziglang/zig/issues/30800
2026-02-08 23:32:18 +01:00
Ben Buhse
52a6242443 std.os.linux: add F_SEAL constants to F struct
Add the missing F_SEAL_SEAL, F_SEAL_SHRINK, F_SEAL_GROW, F_SEAL_WRITE,
F_SEAL_FUTURE_WRITE, and F_SEAL_EXEC constants used with
F.ADD_SEALS/F.GET_SEALS for memfd file sealing. These are defined in the
Linux kernel at include/uapi/linux/fcntl.h.

The FreeBSD equivalents already exist in std.c (freebsd.F),
but the Linux side was missing them.
2026-02-08 02:11:20 +01:00
angus
703df73f38 initialize mutex correctly in kqueue.zig 2026-02-07 14:19:29 +00:00
Jacob Young
b5bd494606 std.Threaded: replace more kernel32 functions with ntdll 2026-02-07 00:02:50 -05:00
Andrew Kelley
12cb5b9285 Merge pull request 'ability to override packages locally' (#31138) from fork-cli into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31138
2026-02-07 02:46:47 +01:00
Andrew Kelley
355c626001 fetch: delete legacy hash functionality
This also removes a unit test that violates project policy of having
binary artifacts as test data when they can be created during the test
instead.
2026-02-06 15:25:05 -08:00
Andrew Kelley
6f18aca09e main: fix cleanup of forks 2026-02-06 15:11:06 -08:00
Andrew Kelley
b24b0479f6 fetch: fix missing check for build.zig existence 2026-02-06 15:10:54 -08:00
Andrew Kelley
9f3b60b23a fetch: ensure that forks are actually used 2026-02-06 14:29:45 -08:00
Andrew Kelley
9d02562717 zig build: don't add --fork to build runner args 2026-02-06 14:12:52 -08:00
Andrew Kelley
632d1fb948 fetch: fix manifest memory management 2026-02-06 14:03:43 -08:00
Andrew Kelley
5f453b45d3 Package: fix Hash.projectId decoding 2026-02-06 14:03:09 -08:00
Andrew Kelley
699063c5a0 fetch: implement the fork override 2026-02-06 13:38:03 -08:00
Andrew Kelley
e661e78256 store the Manifest in the fork set 2026-02-06 13:21:13 -08:00
Andrew Kelley
3d33735d73 zig build: add --fork CLI argument
closes #31124
2026-02-06 12:36:29 -08:00
Mathieu Suen
36b65ab59e
Air: add "unwrap" functions for loading extra data 2026-02-06 13:06:49 +00:00
Andrew Kelley
d84a638e8b Merge pull request 'fetch packages into project-local directory' (#31121) from project-local-deps into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31121
2026-02-06 09:41:28 +01:00
Andrew Kelley
d8171e8a2e fetch: check global cache for compressed tarball
before remote URL
2026-02-05 17:36:14 -08:00
Andrew Kelley
1f65e7cccc fetch: recompress task integrates with std.Progress 2026-02-05 16:50:41 -08:00
Andrew Kelley
7246eee1e7 std.Progress: add Node.startFmt
convenience method for starting a child node with a formatted string as
a name.
2026-02-05 16:50:41 -08:00
Andrew Kelley
ee21a1f988 fetch: implement recompression
After fetching a package and applying the filter by deleting files that
are not part of the hash, creates a recompressed $GLOBAL_CACHE/p/$PKG_HASH.tar.gz

Checking this cache before fetching network URLs is not yet implemented.
2026-02-05 16:50:41 -08:00
Andrew Kelley
df64a3a368 build: packages now require fingerprint
also the name must be an enum literal.

delete some .tar.gz test data. Test data should be in text form when it
can be, and this could definitely be.
2026-02-05 16:50:41 -08:00
Andrew Kelley
64dc1cdad8 fetch: download to local zig-pkg directory
rather than global cache p/ directory.

closes #14283

does not recompress packages into global cache yet
2026-02-05 16:50:41 -08:00
Andrew Kelley
76d275b20f std.Io.Threaded: flatten some switch cases 2026-02-05 16:30:33 -08:00
Andrew Kelley
387d550b6c compiler: remove btrfs workaround functionality
has been fixed in the kernel code for a while now
2026-02-05 16:30:33 -08:00
bgthompson
076f7e5bd5 removed reduntant @as() from switch in getDaysInMonth 2026-02-05 21:58:35 +01:00
Pivok
d0b39c7f2b libzigc: hypot (#31104)
First time contribution.

Implements hypot for libzigc #30978.

Commands i run:
```
$ stage3/bin/zig build -p stage4 -Denable-llvm -Dno-lib

$ stage4/bin/zig build test-libc -Dlibc-test-path=../../libc-test -Dtest-filter=hypot --summary line -fqemu -fwasmtime
Build Summary: 725/737 steps succeeded (12 skipped)
```

I also changed std.math.hypot becuase some libc-tests raised fp exceptions. Example:
```
../../libc-test/src/math/special/hypot.h:8: bad fp exception: RN hypot(0x1p-1074,0x0p+0)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
../../libc-test/src/math/special/hypot.h:9: bad fp exception: RN hypot(0x1p-1074,-0x0p+0)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
```

I also run this command as a quick sanity check:
```
$ stage4/bin/zig build test-std -Dtest-filter=hypot -Dtest-target-filter=x86_64-linux-musl --summary line
Build Summary: 5/5 steps succeeded; 136/136 tests passed
```

Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31104
Reviewed-by: Andrew Kelley <andrew@ziglang.org>
Co-authored-by: Pivok <pivoc@protonmail.com>
Co-committed-by: Pivok <pivoc@protonmail.com>
2026-02-05 21:57:32 +01:00
brickmonster
c38f9336a3 std.os.linux: fix test not building 2026-02-05 21:15:54 +01:00
Ryan Liptak
bcb5218a2b Environ: reinstate null return on = in environment variable keys
Changes an assert back into a conditional to match the behavior of `getPosix`, see https://codeberg.org/ziglang/zig/pulls/31113#issuecomment-10371698 and https://github.com/ziglang/zig/issues/23331.
Note: the conditional has been updated to also return null early on 0-length key lookups, since there's no need to iterate the block in that case.

For `Environ.Map`, validation of keys has been split into two categories: 'put' and 'fetch', each of which are tailored to the constraints that the implementation actually relies upon. Specifically:
- Hashing (fetching) requires the keys to be valid WTF-8 on Windows, but does not rely on any other properties of the keys (attempting to fetch `F\x00=` is not a problem, it just won't be found)
- `create{Posix,Windows}Block` relies on the Map to always have fully valid keys (no NUL, no `=` in an invalid location, no zero-length keys), which means that the 'put' APIs need to validate that incoming keys adhere to those properties.
The relevant assertions are now documented on each of the Map functions.

Also reinstates some test cases in the `env_vars` standalone test. Some of the reinstated tests are effectively just testing the Environ.Map implementation due to how `Environ.contains`, `Environ.getAlloc`, etc are implemented, but that is not inherent to those functions so the tests are still potentially relevant if e.g. `contains` is implemented in terms of `getPosix`/`getWindows` in the future (which is totally possible and maybe a good idea since constructing the whole map is not necessary for looking up one key).
2026-02-05 20:24:31 +01:00
Ivel
fa3228ae42 libc: reimplement swab in Zig (#31130)
This PR replaces the bundled musl swab() implementation with zig's one.

Contributes towards #30978.

It looks like there are not test cases for swab() in test-libc.

Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31130
Reviewed-by: Andrew Kelley <andrew@ziglang.org>
Co-authored-by: Ivel <ivel.santos@proton.me>
Co-committed-by: Ivel <ivel.santos@proton.me>
2026-02-05 20:21:41 +01:00
Jacob Young
c77e7146f5 std.Threaded: replace console kernel32 functions with ntdll 2026-02-05 07:41:25 -05:00
Alex Rønne Petersen
f150759953 Merge pull request 'ci: run test-libc on x86_64-linux-release' (#30221) from alexrp/zig:ci-libc-test into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30221
2026-02-05 13:35:49 +01:00
Andrew Kelley
4c35d53b9a Merge pull request 'std.os.windows: move OpenFile and GetFinalPathNameByHandle into Io.Threaded' (#31111) from windows-open-file-again into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31111
2026-02-05 06:25:38 +01:00
Andrew Kelley
3078a3197b std.Io.Threaded.dirCreateDirWindows: remove unexpected error handling 2026-02-04 16:30:19 -08:00
Andrew Kelley
0e7d00776e std.Io.Threaded: inline OpenFile into dirCreateDirWindows 2026-02-04 16:30:19 -08:00
Andrew Kelley
3a5fff45ec std: move os.windows.OpenFile into Io.Threaded
it needs cancelation integration
2026-02-04 16:30:17 -08:00
Andrew Kelley
2a193a3987 std: move GetFinalPathNameByHandle to Io.Threaded
unfortunately this function calls NtCreateFile so it has to participate
in cancelation
2026-02-04 16:27:13 -08:00
Andrew Kelley
b49dc5eb70 build: bump max_rss for C ABI tests on Windows 2026-02-04 16:24:48 -08:00
Andrew Kelley
fcef9905ae Merge pull request 'std.Progress: implement inter-process progress reporting for windows' (#31113) from threaded-win-cleanup into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31113
Reviewed-by: Andrew Kelley <andrew@ziglang.org>
2026-02-05 01:24:18 +01:00
Jacob Young
71156aff80 std.Progress: implement ipc resource cleanup 2026-02-04 15:20:10 -05:00
Alex Rønne Petersen
c3edf0ba64
Merge branch 'netbsd-ci' 2026-02-04 20:44:45 +01:00
Alex Rønne Petersen
012be3efd7
Revert "ci: temporarily disable x86_64-netbsd while I investigate failures"
This reverts commit 99ec1ee353.
2026-02-04 20:44:37 +01:00
Alex Rønne Petersen
06879041ac
link.Lld: disable parallel linking on NetBSD host
To work around NetBSD 10.1 malloc bugs.
2026-02-04 20:44:37 +01:00
Matthew Lugg
a816f9e245
std.Io.Threaded: use _lwp_park correctly for real this time? 2026-02-04 20:44:37 +01:00
Matthew Lugg
fcdde3e4c7
std.Io.Threaded: gracefully handle race leading to ESRCH in unpark() 2026-02-04 20:44:37 +01:00
Jacob Young
ffc6da29e3 std.Io.Threaded: implement and cleanup windows codepaths 2026-02-04 14:15:41 -05:00
Alex Rønne Petersen
fce7878a91
test: disable hexagon-linux-musl C ABI tests for now
https://gitlab.com/qemu-project/qemu/-/issues/3291
2026-02-04 11:11:39 +01:00