Commit Graph

13526 Commits

Author SHA1 Message Date
Alex Rønne Petersen 9e3eaa6be7 Merge pull request 'add spacemit_x100 + spacemit_x100 RISC-V CPU models; detect more RISC-V CPU models on Linux' (#35392) from alexrp/zig:more-riscv-models into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35392
2026-05-23 05:43:47 +02:00
Alex Rønne Petersen d70b56429c std.zig.system.linux: add detection for more RISC-V CPU models 2026-05-22 21:12:51 +02:00
Alex Rønne Petersen c717b0d08d std.Target: add spacemit_x100 and spacemit_a100 RISC-V CPU models
Backported from LLVM main branch.
2026-05-22 21:12:45 +02:00
Alex Rønne Petersen 3140b375fc std.Target: update a bunch of min/max OS versions 2026-05-22 19:19:52 +02:00
Alex Rønne Petersen 3a6ddce4cf Merge pull request 'libc: Update macOS headers to SDK 26.5' (#35382) from linus/zig:bump-macos-libc into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35382
Reviewed-by: Alex Rønne Petersen <alex@alexrp.com>
2026-05-22 18:53:47 +02:00
Alex Rønne Petersen 038c0783d4 std.Target: only make v9 the baseline for sparc-linux
NetBSD supports older models, for example.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen 8930bdfeb6 std.Target: make arch11 (z13) the baseline for s390x
arch8 (z10) is from 2008; arch11 (z13) is from 2015. I believe all Linux distros
have already made arch11 the baseline, so let's do the same.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen a8859a6d21 std.Target: make octeon the baseline for mips64-openbsd
From https://www.openbsd.org/octeon.html:

    OpenBSD/octeon is a port intended to run on MIPS64-based systems that
    utilize the Cavium OCTEON, OCTEON Plus, OCTEON II, and OCTEON III system on
    chips.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen 9f6d31c1bf std.Target: make 750 the baseline for powerpc-openbsd
From https://www.openbsd.org/macppc.html:

    OpenBSD/macppc runs on the PowerPC-based Macintosh systems from the
    "New World" family
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen 552c0fe914 std.Target: make pwr9 the baseline for powerpc64-openbsd
From https://www.openbsd.org/powerpc64.html:

    OpenBSD/powerpc64 runs on PowerNV machines using the IBM POWER9 processors.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen 1fd1fadc02 std.Target: make ultrasparc the baseline for sparc64
No OSs actually support CPUs older than this.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen 51962172f7 std.Target: make esp32 the baseline for xtensa
This is the MCU that the overwhelming majority of hobbyists target.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen c49f7fbffd std.Target: make m68030 the baseline for m68k
It's the oldest model that has an integrated MMU.
2026-05-22 18:41:00 +02:00
Alex Rønne Petersen 0b00adc6fc std.Target: make cortex_a55 the baseline for aarch64-haiku
Haiku's build system targets this.
2026-05-22 03:10:56 +02:00
Linus Groh 761809e793 std.Target: Update supported Apple OS versions 2026-05-22 00:44:16 +01:00
Andrew Kelley c02d39a21c std.Io.File: explain rationale for no Dir.setLength
closes #35353
2026-05-21 14:57:59 -07:00
Alex Rønne Petersen 0d4f3cc675 re-enable some tests on RISC-V that no longer fail
Miscompilations appear to have been fixed with LLVM 22.

closes https://github.com/ziglang/zig/issues/24299
closes https://github.com/ziglang/zig/issues/24300
closes https://github.com/ziglang/zig/issues/24301
closes https://github.com/ziglang/zig/issues/25083
2026-05-21 20:37:11 +02:00
Alex Rønne Petersen bf1c847719 Merge pull request 'OpenBSD 7.9 cross libc support' (#35375) from alexrp/zig:openbsd-7.9 into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35375
2026-05-21 06:47:10 +02:00
Alex Rønne Petersen 3b3833acf7 remove remnants of {m68k,powerpc,sparc64}-haiku support
These ports of Haiku have been nonfunctional/incomplete for years. We do not
generally treat such ports as "real" targets.

https://codeberg.org/ziglang/ziglang.org/commit/1efffd83ffd4078cea456c80ae806259207530ad
2026-05-21 06:38:51 +02:00
Alex Rønne Petersen 86b9e985cc std.Target: bump max OpenBSD version to 7.9 2026-05-21 03:05:18 +02:00
Alex Rønne Petersen 21b7ceb5e5 std.fs.test: disable Dir.renamePreserve onto existing test on Windows
https://codeberg.org/ziglang/zig/issues/35359
2026-05-19 20:11:28 +02:00
Alex Rønne Petersen fe6c3e58ef std.Io.RwLock: disable lock canceling test on SPARC
https://codeberg.org/ziglang/zig/issues/35347
2026-05-19 20:07:00 +02:00
Alex Rønne Petersen a8376afca9 Merge pull request 'add sparc64-linux-none to module test matrix' (#35348) from alexrp/zig:sparc64-linux into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35348
2026-05-19 14:05:21 +02:00
linus 30698b03c0 Merge pull request 'std: Remove more deprecated functions' (#35253) from linus/zig:more-deprecations into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35253
2026-05-19 11:41:52 +02:00
Ryan Liptak 71f23402bc Writer: Fix splatBytePreserve losing data in certain cases
In cases where the now removed `preserve < w.end` branch was taken, some of the data in the buffer would never make it to logical sink. For example, in one of the newly added test cases where a buffer of 10 is filled with 9 bytes, and then `splatBytePreserve` is called with a preserve of 5 and a splat of 2, the 5 preserved bytes in the buffer would get memmoved to the front of the buffer in the `preserve < w.end` branch, clobbering the first 4 bytes (without any chance of them making it to the logical sink).

After this commit, `rebase` is called to allow the implementation to do the preservation while sending any relevant bytes to the logical sink in the process.

Addresses part of https://github.com/ziglang/zig/issues/24767
Supersedes https://github.com/ziglang/zig/pull/24875
2026-05-19 03:15:55 +02:00
EJ 5b647b792c std.Io.Dir: doc comment for renamePreserve and tests (#35317)
Right now the comment specifies what will happen when "renaming a file _over_ ... or a directory _over_...". But the whole point of `renamePreserve` is not writing over anything.

Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35317
Reviewed-by: Ryan Liptak <squeek502@noreply.codeberg.org>
2026-05-19 03:12:32 +02:00
Alex Rønne Petersen 3b330f1d7c std: disable some failing cancelation tests on sparc64-linux
https://codeberg.org/ziglang/zig/issues/35347
2026-05-19 00:19:50 +02:00
Alex Rønne Petersen 3b41518c14 std: disable some tests that fail on sparc64 2026-05-18 21:39:34 +02:00
mlugg 27be3b069a Merge pull request 'Elf2: various enhancements' (#35332) from elf2 into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35332
2026-05-18 08:22:47 +02:00
Matthew Lugg 55cdf6c28b std.elf: add Ident struct
This is much nicer than indexing a raw 16-byte buffer.
2026-05-17 18:08:57 +01:00
K4 1deaf5a085 rename std.Io.GenericReader to std.Io.Reader in outdated doc comment 2026-05-17 19:48:12 +03:00
Jari Vetoniemi bdfbf432dd std.process.abort: trap on freestanding 2026-05-12 15:33:21 +09:00
Quint Daenen 9787df9421 fix(std.Target/spirv): correct variable_pointers feature description
The description was incorrectly copied from physical_storage_buffer.

Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35272
2026-05-10 08:11:51 +02:00
Alex Rønne Petersen cb1fe0e578 Merge pull request 'ci: build/run all darwin module tests on aarch64-macos' (#35256) from alexrp/zig:maccatalyst-ci into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35256
2026-05-10 03:04:58 +02:00
Alex Rønne Petersen 72966e2a7b disable some tests that fail on x86_64-macos
These might be Rosetta 2 bugs, but I have no way to actually check since we no
longer have any native x86_64-macos CI machines.
2026-05-09 08:49:34 +02:00
Linus Groh 75c717bd06 std.bit_set, std.enums: Remove .init{Empty,Full}() in favor of .empty/.full 2026-05-08 22:12:27 +01:00
Linus Groh 33d2e571c7 std.mem: Remove containsAtLeastScalar() in favor of new impl 2026-05-08 22:04:30 +01:00
Linus Groh 83da6827fd std.mem: Remove native/foreign variants of {read,write}PackedInt() 2026-05-08 21:59:09 +01:00
Linus Groh 4590712804 std.ascii: Remove indexOfIgnoreCase*() in favor of findIgnoreCase*() 2026-05-08 21:55:08 +01:00
Elaine Gibson e2c5523cd1 std.zig.LibCDirs: remove config from haiku include path 2026-05-08 08:11:59 +01:00
Elaine Gibson a85a29ae4d std.zig.LibCDirs: add default haiku include directories 2026-05-07 21:45:59 +02:00
Matthew Lugg 989b6a1b93 std.Build: clear step inputs when resetting the step
Previously, when using `zig build -fincremental --watch some-run-step`,
if the binary initially builds fine but a future update introduces a
compile error, the old file system inputs of the `Step.Run`---containing
the executable file itself---would remain. This is a bug, because that
file *has* changed since the input was registered (due to incremental
compilation), and yet the `Run` step is not out-of-date because it was
skipped due to a transitive failure.

A simple reproduction for this issue was:

  $ zig init
  $ zig build test --watch -fincremental

Then, in another terminal, introduce a compile error:

  $ sed -i 's/const/onst/' src/main.zig

Before this commit, this would cause the `zig build` command to repeat
updates forever, separated only by the 50ms debounce interval.

To fix this, when we reset a step with intent to re-run it, we should
clear its inputs immediately, so that if the step is skipped, it is
correctly marked as having no inputs.

This relates to a more general problem with the file system watching
logic which is that the set of inputs includes files in the cache which
are actually artifacts of other steps. Eventually, the build system
should learn to identify such files and exclude them from the set of
file system inputs. In other words, the fact that a `Run` step depends
on the executable generated by a `Compile` step should be modeled by a
dependency in the build step graph, *not* by a dependency on the path
where the `Compile` step happens to have emitted its executable file.
2026-05-07 19:45:37 +02:00
Matthew Lugg 45ecd6a996 std.hash_map: fix removeByPtr with array key type
Resolves: https://codeberg.org/ziglang/zig/issues/32086
2026-05-07 06:20:58 +02:00
Jari Vetoniemi 52c5223bca std.os.linux: local variable for timeout in poll
The linux syscall ppoll modifies its second argument, thus using
`@constCast` here is not correct.
2026-05-07 05:45:20 +02:00
ahwayakchih 0ec456c785 Add missing BPF.TAX and BPF.TXA declarations
As described in #32112, two instructions were missing from bpf.zig. They're declared in `linux/filter.h` (not in `linux/bpf.h`).
2026-05-07 05:38:45 +02:00
pentuppup 6d98649f68 llvm: print linksection when formatting IR 2026-05-07 05:37:23 +02:00
Andrew Kelley cd23f7a814 Merge pull request 'std.meta: Remove Int/Tuple in favor of @Int/@Tuple' (#35188) from linus/zig:deprecated-std-meta into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35188
Reviewed-by: Andrew Kelley <andrew@ziglang.org>
2026-05-06 19:35:40 +02:00
Andrew Kelley 3d56df1716 Merge pull request 'std.fmt, std.mem.Allocator: Remove bufPrintZ()/dupeZ() in favor of bufPrintSentinel()/dupeSentinel()' (#35190) from linus/zig:deprecated-std-fmt-mem into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35190
Reviewed-by: Andrew Kelley <andrew@ziglang.org>
2026-05-06 19:34:52 +02:00
Alex Rønne Petersen 994547d19a std.debug: disable stack traces on avr
https://codeberg.org/ziglang/zig/issues/31127
2026-05-06 16:03:56 +02:00
Alex Rønne Petersen 3e0dfe83ce drop support for powerpc-linux-gnueabi(hf)
These are the last PowerPC cross targets that still use the IBM 128-bit long
double format. I'm not convinced anyone cares enough about them to justify
keeping them around, so this drops support. powerpc-linux-musleabi(hf), which
use the IEEE format, are still fully supported for people who want to use old
32-bit PowerPC hardware.
2026-05-06 15:50:45 +02:00