aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-10-07std.debug.Dwarf: use 64 as the (fake) LoongArch PC registerAlex Rønne Petersen
32-63 conflict with the floating point registers.
2025-10-07std.debug: add unwind support for powerpc*-linuxAlex Rønne Petersen
2025-10-07std.debug: add unwind support for mips*-linuxAlex Rønne Petersen
2025-10-07std.debug.cpu_context: check for architecture, i.e. register size, not bitnessAlex Rønne Petersen
We care about the hardware here, not the ABI.
2025-10-07std.debug.Dwarf.SelfUnwinder: add an s390x check missed in ↵Alex Rønne Petersen
95bdb0c1c65c128923ffac3f4be6b4619eb4a54b
2025-10-07std.debug: add noinline to functions that capture the current stack traceAlex Rønne Petersen
Fixes stack traces missing a frame depending on inlining decisions. ref https://github.com/ziglang/zig/issues/25418
2025-10-07std.os.linux: add ucontext_t and mcontext_t for mips/mips64Alex Rønne Petersen
2025-10-07std.os.linux: minor NFC corrections to hexagon ucontext_t and mcontext_tAlex Rønne Petersen
2025-10-07std.debug: prefer FP unwinding on targets where it is idealAlex Rønne Petersen
If the ABI requires a backchain pointer, FP unwinding is always possible, safe, and fast, so there's really no reason not to use it.
2025-10-07llvm.Builder: allow `Metadata` to reference metadata stringsJacob Young
Closes #25486
2025-10-07detect references to `comptime var` in default values and sentinelsxdBronch
2025-10-07std.debug.Dwarf.SelfUnwinder: skip caching rules for unsupported registersAlex Rønne Petersen
For unwinding purposes, we don't care about unsupported registers. Yet because we added these rules to the cache entry, we'd later try to evaluate them and thus fail the unwind attempt for no good reason. They'd also take up cache rule slots that would be better spent on actually relevant registers. Note that any attempt to read unsupported registers during unwinding will still fail the unwind attempt as expected.
2025-10-06Merge pull request #25414 from squeek502/mingw-def-implibAndrew Kelley
Support generating import libraries from mingw .def files without LLVM
2025-10-06improve impl of `__sqrth`, `sqrtf`, `sqrt`, `__sqrtx` and `sqrtq` (#25416)Zhenming Lin
The previous version (ported from musl) used bit-by-bit calculations and was slow, but the current version (also ported from musl) uses lookup tables combined with Goldschmidt iterations to significantly improve the speed.
2025-10-06don't pass zero-length `@memset` to the backendxdBronch
2025-10-06Elf2: implement virtual allocationJacob Young
This allows segments to be moved around in the output file without needing to reapply relocations until virtual address space is exhaused.
2025-10-06Merge pull request #25480 from alexrp/std-debug-hexagonAlex Rønne Petersen
`std.debug`: add unwind support for `hexagon-linux`
2025-10-06fix read of undefined in http testsxdBronch
2025-10-06Merge pull request #25479 from alexrp/qemu-os-checksAlex Rønne Petersen
`std.zig.system`: add OS checks for QEMU in `getExternalExecutor()`
2025-10-06drop support for powerpc64 ELF v1Alex Rønne Petersen
* ELF v1 on powerpc64 is only barely kept on life support in a couple of Linux distros. I don't anticipate that this will last much longer. * Most of the Linux world has moved to powerpc64le which requires ELF v2. * Some Linux distros have even started supporting powerpc64 with ELF v2. * The BSD world has long since moved to ELF v2. * We have no actual linking support for ELF v1. * ELF v1 had confused DWARF register mappings which is becoming a problem in our DWARF code in std.debug. It's clear that ELF v1 is on its way out, and we never fully supported it anyway. So let's not waste any time or energy on it going forward. closes #5927
2025-10-05std.zig.system: add OS checks for QEMU in getExternalExecutor()Alex Rønne Petersen
FreeBSD doesn't support the same number of platforms as Linux, and even then, only has usermode emulation for a subset of its supported platforms. NetBSD's usermode emulation support is apparently just broken at the moment.
2025-10-05std.debug: add unwind support for hexagon-linuxAlex Rønne Petersen
2025-10-05std.os.linux: add mcontext_t and ucontext_t for hexagonAlex Rønne Petersen
2025-10-05ci: bump x86_64-linux-release timeout to 8 hours on Forgejo ActionsAlex Rønne Petersen
2025-10-05std.zig.system: handle or1k in getExternalExecutor()Alex Rønne Petersen
2025-10-04Merge pull request #25320 from hkupty/walker2Ryan Liptak
std.fs.Dir: Add `walkSelectively` to provide more control over directory walking
2025-10-05std.debug: completely disable FP-based unwinding on mipsAlex Rønne Petersen
2025-10-05std.debug.SelfInfo.Elf: disable unwinding on mips n32 and x86 x32Alex Rønne Petersen
The DWARF code can't handle these yet. ref https://github.com/ziglang/zig/issues/25447
2025-10-05InternPool: use sequential string indices instead of byte offsetsJacob Young
This allows more bytes to be referenced by a smaller index range. Closes #22867 Closes #25297 Closes #25339
2025-10-05test: disable standalone tsan testAlex Rønne Petersen
https://github.com/ziglang/zig/issues/25471
2025-10-05Merge pull request #25456 from alexrp/libcxx-cxx17-removed-functionsAlex Rønne Petersen
`libcxx`: stop defining `_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS`
2025-10-05std.Target: baseline model for s390x-zos should be arch10, not arch8Alex Rønne Petersen
2025-10-04test: move standalone/options/ to cli/options/Alex Rønne Petersen
It's now used only by test-cli, so make that clear.
2025-10-04Revert "test: remove standalone options test"Alex Rønne Petersen
This reverts commit d9cd4d087648c6d83e22dda6a4b82929a72fc771. Turns out Jacob restored this test as part of test-cli in cdba1d5.
2025-10-04ci: run the docs step on loongarch64-linuxAlex Rønne Petersen
2025-10-04test: remove standalone sigpipe testAlex Rønne Petersen
This should be restored, but there's no point keeping disabled code that's just going to bitrot. https://github.com/ziglang/zig/issues/25466
2025-10-04test: remove standalone options testAlex Rønne Petersen
This functionality is already load-bearing for the compiler's own build script so this (disabled, possibly bitrotted?) doesn't really add value.
2025-10-04test: remove standalone issue_13970 testAlex Rønne Petersen
It's been disabled for ages and has bitrotted. Someone can readd it later if they feel like it actually adds value.
2025-10-04test: remove ad-hoc nvptx testsAlex Rønne Petersen
These were just testing random things in the LLVM NVPTX backend. That's not really our job.
2025-10-04test: remove some tests that are now covered well enough by test-stack-tracesAlex Rønne Petersen
The amount of cross compilation required for these tests was too time-consuming for how much value they added. test-stack-traces now cover these well enough, especially as we add more exotic machines to the CI fleet to run native tests.
2025-10-04make freebsd copy_file_range return type signedrpkak
2025-10-04Merge pull request #25457 from linusg/more-serenityAlex Rønne Petersen
std.debug: Add unwind support for serenity
2025-10-04correct ed25519 test case (#25445)David Rubin
2025-10-03Support generating import libraries from mingw .def files without LLVMRyan Liptak
For the supported COFF machine types of X64 (x86_64), I386 (x86), ARMNT (thumb), and ARM64 (aarch64), this new Zig implementation results in byte-for-byte identical .lib files when compared to the previous LLVM-backed implementation.
2025-10-03std.coff: Fix size of ImportHeader.typesRyan Liptak
2025-10-04std.debug: consider FP-based unwinding on hexagon and powerpc safeAlex Rønne Petersen
The ABIs make this safe and reliable due to their backchain requirements.
2025-10-04std.debug: fix FP-based unwinding on powerpc64Alex Rønne Petersen
This just needs to do the same thing as powerpc64le. Note that the saved LR is at the same position in both ELF v1 and v2.
2025-10-03std.coff: Set default values for ImportHeader sig1/sig2 fieldsRyan Liptak
Just makes this a bit nicer to work with since those fields only have 1 intended value.
2025-10-03std.coff: Add sizeOf function to WeakExternalDefinitionRyan Liptak
Convenience function similar in nature to Symbol.sizeOf
2025-10-03std.coff: Fix SectionHeader.setAlignment (off by 1)Ryan Liptak
Previously, `setAlignment` would set the value to 1 fewer than it should, so if you were intending to set alignment to 8 bytes, it would actually set it to 4 bytes, etc.