head 1.1; access; symbols; locks; strict; comment @# @; 1.1 date 2026.10.11.06.41.44; author adam; state Exp; branches; next ; commitid uKiSfBFuo1pTE1ZG; desc @@ 1.1 log @zig: updated to 0.17.0 0.17.0 Notable changes: aarch64-openbsd is now tested natively in Zig's CI, ensuring high-quality support going forward. aarch64-freebsd and aarch64-netbsd CI jobs now run on pull requests too, in addition to master pushes. An LLVM bug that broke most aarch64-windows binaries, including the Zig Compiler, has been worked around. The Zig Compiler now applies mandatory code hardening techniques when targeting aarch64-openbsd so that the resulting binaries actually work. Zig now provides stack traces on crashes and failed assertions on 32-bit ARM. Some work still remains for Thumb-only targets. Zig now provides stack traces on crashes and failed assertions on SPARC. Zig now handles pointer authentication opcodes when doing stack unwinding on AArch64. Support for the loongarch32-linux-gnu[sf] targets has been added. Zig now has generally usable support for 64-bit SPARC, and especially sparc64-linux. This is largely thanks to Zig's new ELF linker which now has better support for this target than LLD. The Zig Standard Library has been ported to the x32 and N32 ABIs on x86-64 and 64-bit MIPS, respectively. These are niche ILP32 ABIs that allow using the 64-bit instruction set while only having 32-bit pointers - the idea being to trade available address space for lower memory usage and better cache utilization. Target information has been added for some game consoles: aarch64-switch, arm-gba, mipsel-psx, and powerpc-wiiu Very early xtensa-linux support has been added to Zig. Note that, for now, this support can only be exercised via the C backend or the experimental LLVM backend. The Zig Standard Library now has support for arc[eb]-linux, csky-linux, and m88k-openbsd when using the C backend. The Zig Standard Library now has support for no-libc microblaze[el]-linux, sh[eb]-linux, and sparc-linux. Zig now enforces -mabi=ieeelongdouble for all PowerPC targets. This is just a formalization of what was already reality; Zig has never supported the IBM "double-double" format for long double and likely never will. As a result, this release drops support for powerpc-linux-gnueabi[hf] because glibc only supports the "double-double" format on these targets. The powerpc-linux-musleabi[hf] targets remain supported as they use the IEEE format. This release drops support for powerpc64-linux-gnu. Zig has only ever supported linking ELFv2 binaries for 64-bit PowerPC, and glibc does not officially support ELFv2 on big endian - nor IEEE long double, as above. Zig's ability to detect the native CPU model and features has been greatly enhanced across the board; this affects almost every architecture on every supported OS. The baseline CPU model has been changed for some targets: aarch64-haiku: cortex_a55 m68k-*: M68030 mips64-openbsd: octeon powerpc-netbsd: 750 powerpc64-freebsd: pwr8 powerpc64-linux: pwr8 powerpc64-openbsd: pwr9 s390x-*: arch11 sparc-*: generic sparc-linux: v9 sparc64-*: ultrasparc xtensa-*: esp32 In Zig's target query syntax, native libc version detection now only happens if the triple actually uses native libc (i.e. the ABI component is omitted). We expect this new behavior to better match people's mental model for how target queries work, particularly when considering how the OS component works. @ text @$NetBSD$ Install langref.html into correct path. --- build.zig.orig 2026-10-11 06:29:17.097421286 +0000 +++ build.zig @@@@ -38,7 +38,7 @@@@ pub fn build(b: *std.Build) !void { const enable_superhtml = b.option(bool, "enable-superhtml", "Check langref output HTML validity") orelse false; const langref_file = try generateLangRef(b); - const install_langref = b.addInstallFileWithDir(langref_file, .prefix, "doc/langref.html"); + const install_langref = b.addInstallFileWithDir(langref_file, .prefix, "share/doc/zig/langref.html"); const check_langref = superHtmlCheck(b, langref_file); if (enable_superhtml) install_langref.step.dependOn(check_langref); @