Alex Rønne Petersen
fdd109420d
std.debug: add noinline to functions that capture the current stack trace
...
Fixes stack traces missing a frame depending on inlining decisions.
ref https://github.com/ziglang/zig/issues/25418
2025-10-07 16:47:57 +02:00
Alex Rønne Petersen
0b33891f4c
std.os.linux: add ucontext_t and mcontext_t for mips/mips64
2025-10-07 16:47:57 +02:00
Alex Rønne Petersen
98af7f34e9
std.os.linux: minor NFC corrections to hexagon ucontext_t and mcontext_t
2025-10-07 16:47:57 +02:00
Alex Rønne Petersen
9760068826
std.debug: prefer FP unwinding on targets where it is ideal
...
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-07 16:44:25 +02:00
Jacob Young
d28006153e
llvm.Builder: allow Metadata to reference metadata strings
...
Closes #25486
2025-10-07 07:49:54 -04:00
xdBronch
2810e4b173
detect references to comptime var in default values and sentinels
2025-10-07 11:58:12 +01:00
Andrew Kelley
6893e7feee
Merge pull request #25414 from squeek502/mingw-def-implib
...
Support generating import libraries from mingw .def files without LLVM
2025-10-06 13:38:07 -07:00
Zhenming Lin
9bfd4c3017
improve impl of __sqrth, sqrtf, sqrt, __sqrtx and sqrtq ( #25416 )
...
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-06 11:45:51 -07:00
xdBronch
851ae9bb43
don't pass zero-length @memset to the backend
2025-10-06 11:28:56 -07:00
Jacob Young
969f2cff82
Elf2: implement virtual allocation
...
This allows segments to be moved around in the output file without
needing to reapply relocations until virtual address space is exhaused.
2025-10-06 11:27:39 -07:00
Alex Rønne Petersen
2962db333f
Merge pull request #25480 from alexrp/std-debug-hexagon
...
`std.debug`: add unwind support for `hexagon-linux`
2025-10-06 11:10:02 +02:00
xdBronch
ea9fb3ccfa
fix read of undefined in http tests
2025-10-06 06:54:52 +02:00
Alex Rønne Petersen
7c87691a61
Merge pull request #25479 from alexrp/qemu-os-checks
...
`std.zig.system`: add OS checks for QEMU in `getExternalExecutor()`
2025-10-06 06:11:06 +02:00
Alex Rønne Petersen
ddc815e3d8
drop support for powerpc64 ELF v1
...
* 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-06 01:28:56 +02:00
Alex Rønne Petersen
9e61a64033
std.zig.system: add OS checks for QEMU in getExternalExecutor()
...
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-05 23:33:12 +02:00
Alex Rønne Petersen
a5ff376b8f
std.debug: add unwind support for hexagon-linux
2025-10-05 20:09:26 +02:00
Alex Rønne Petersen
26403fe3f9
std.os.linux: add mcontext_t and ucontext_t for hexagon
2025-10-05 20:08:55 +02:00
Alex Rønne Petersen
bd23e9a744
ci: bump x86_64-linux-release timeout to 8 hours on Forgejo Actions
2025-10-05 18:53:34 +02:00
Alex Rønne Petersen
5969d6180f
std.zig.system: handle or1k in getExternalExecutor()
2025-10-05 17:06:41 +02:00
Ryan Liptak
0a74d73459
Merge pull request #25320 from hkupty/walker2
...
std.fs.Dir: Add `walkSelectively` to provide more control over directory walking
2025-10-04 22:41:25 -07:00
Alex Rønne Petersen
e6e4792a58
std.debug: completely disable FP-based unwinding on mips
2025-10-05 07:18:50 +02:00
Alex Rønne Petersen
30f5258fe6
std.debug.SelfInfo.Elf: disable unwinding on mips n32 and x86 x32
...
The DWARF code can't handle these yet.
ref https://github.com/ziglang/zig/issues/25447
2025-10-05 07:18:50 +02:00
Jacob Young
906ce2ad7c
InternPool: use sequential string indices instead of byte offsets
...
This allows more bytes to be referenced by a smaller index range.
Closes #22867
Closes #25297
Closes #25339
2025-10-05 00:25:21 -04:00
Alex Rønne Petersen
606c7bcc89
test: disable standalone tsan test
...
https://github.com/ziglang/zig/issues/25471
2025-10-05 02:13:21 +02:00
Alex Rønne Petersen
97fa0e3ebd
Merge pull request #25456 from alexrp/libcxx-cxx17-removed-functions
...
`libcxx`: stop defining `_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS`
2025-10-05 00:52:57 +02:00
Alex Rønne Petersen
73602f2a13
std.Target: baseline model for s390x-zos should be arch10, not arch8
2025-10-05 00:23:51 +02:00
Alex Rønne Petersen
ea46bd2772
test: move standalone/options/ to cli/options/
...
It's now used only by test-cli, so make that clear.
2025-10-04 21:55:39 +02:00
Alex Rønne Petersen
5bbbc8d299
Revert "test: remove standalone options test"
...
This reverts commit d9cd4d087648c6d83e22dda6a4b82929a72fc771.
Turns out Jacob restored this test as part of test-cli in cdba1d5.
2025-10-04 21:46:55 +02:00
Alex Rønne Petersen
c4b7caa528
ci: run the docs step on loongarch64-linux
2025-10-04 21:02:43 +02:00
Alex Rønne Petersen
3539cad176
test: remove standalone sigpipe test
...
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-04 20:53:19 +02:00
Alex Rønne Petersen
d9cd4d0876
test: remove standalone options test
...
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-04 20:51:07 +02:00
Alex Rønne Petersen
f6c1864abf
test: remove standalone issue_13970 test
...
It's been disabled for ages and has bitrotted. Someone can readd it later if
they feel like it actually adds value.
2025-10-04 20:51:07 +02:00
Alex Rønne Petersen
95417948d0
test: remove ad-hoc nvptx tests
...
These were just testing random things in the LLVM NVPTX backend. That's not
really our job.
2025-10-04 20:51:07 +02:00
Alex Rønne Petersen
c68f9bc207
test: remove some tests that are now covered well enough by test-stack-traces
...
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-04 20:51:07 +02:00
rpkak
b5ec75b7e7
make freebsd copy_file_range return type signed
2025-10-04 11:46:20 +02:00
Alex Rønne Petersen
b54bdace75
Merge pull request #25457 from linusg/more-serenity
...
std.debug: Add unwind support for serenity
2025-10-04 07:09:59 +02:00
David Rubin
e932ab003f
correct ed25519 test case ( #25445 )
2025-10-04 02:31:02 +00:00
Ryan Liptak
e393543e63
Support generating import libraries from mingw .def files without LLVM
...
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-03 18:26:05 -07:00
Ryan Liptak
900315a3f3
std.coff: Fix size of ImportHeader.types
2025-10-03 18:26:05 -07:00
Alex Rønne Petersen
9dbfa5b294
std.debug: consider FP-based unwinding on hexagon and powerpc safe
...
The ABIs make this safe and reliable due to their backchain requirements.
2025-10-04 03:22:40 +02:00
Alex Rønne Petersen
d8268fac98
std.debug: fix FP-based unwinding on powerpc64
...
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-04 03:03:54 +02:00
Ryan Liptak
b382119c02
std.coff: Set default values for ImportHeader sig1/sig2 fields
...
Just makes this a bit nicer to work with since those fields only have 1 intended value.
2025-10-03 17:44:36 -07:00
Ryan Liptak
a974198b94
std.coff: Add sizeOf function to WeakExternalDefinition
...
Convenience function similar in nature to Symbol.sizeOf
2025-10-03 17:44:36 -07:00
Ryan Liptak
78e07b8fc8
std.coff: Fix SectionHeader.setAlignment (off by 1)
...
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.
2025-10-03 17:44:36 -07:00
Ryan Liptak
894a991714
Add depth function to Walker.Entry
...
This enables depth-related use cases without any dependency on the Walker's internal stack which doesn't always pertain to the actual depth of the current entry (i.e. recursing into a directory immediately affects the stack).
2025-10-03 16:29:09 -07:00
Ryan Liptak
98dd8856ef
std.mem: Add countScalar
2025-10-03 16:29:09 -07:00
Henry Kupty
83f8441c4f
fix: Check if key exists instead of trying to match on null
...
Co-Authored-By: Ryan Liptak <squeek502@hotmail.com>
2025-10-03 16:29:09 -07:00
Henry Kupty
a0ec5d1c6e
fix: Match prefix with static string map
...
Co-authored-by: Ryan Liptak <squeek502@hotmail.com>
2025-10-03 16:29:08 -07:00
Henry Kupty
7bee39c1fd
test: enter after check to preserve depth
2025-10-03 16:29:08 -07:00
Henry Kupty
a26a654c55
test: Include expected depth test
2025-10-03 16:29:08 -07:00