| Age | Commit message (Collapse) | Author |
|
32-63 conflict with the floating point registers.
|
|
|
|
|
|
We care about the hardware here, not the ABI.
|
|
95bdb0c1c65c128923ffac3f4be6b4619eb4a54b
|
|
Fixes stack traces missing a frame depending on inlining decisions.
ref https://github.com/ziglang/zig/issues/25418
|
|
|
|
|
|
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.
|
|
Closes #25486
|
|
|
|
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.
|
|
Support generating import libraries from mingw .def files without LLVM
|
|
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.
|
|
|
|
This allows segments to be moved around in the output file without
needing to reapply relocations until virtual address space is exhaused.
|
|
`std.debug`: add unwind support for `hexagon-linux`
|
|
|
|
`std.zig.system`: add OS checks for QEMU in `getExternalExecutor()`
|
|
* 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
|
|
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.
|
|
|
|
|
|
|
|
|
|
std.fs.Dir: Add `walkSelectively` to provide more control over directory walking
|
|
|
|
The DWARF code can't handle these yet.
ref https://github.com/ziglang/zig/issues/25447
|
|
This allows more bytes to be referenced by a smaller index range.
Closes #22867
Closes #25297
Closes #25339
|
|
https://github.com/ziglang/zig/issues/25471
|
|
`libcxx`: stop defining `_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS`
|
|
|
|
It's now used only by test-cli, so make that clear.
|
|
This reverts commit d9cd4d087648c6d83e22dda6a4b82929a72fc771.
Turns out Jacob restored this test as part of test-cli in cdba1d5.
|
|
|
|
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
|
|
This functionality is already load-bearing for the compiler's own build script
so this (disabled, possibly bitrotted?) doesn't really add value.
|
|
It's been disabled for ages and has bitrotted. Someone can readd it later if
they feel like it actually adds value.
|
|
These were just testing random things in the LLVM NVPTX backend. That's not
really our job.
|
|
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.
|
|
|
|
std.debug: Add unwind support for serenity
|
|
|
|
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.
|
|
|
|
The ABIs make this safe and reliable due to their backchain requirements.
|
|
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.
|
|
Just makes this a bit nicer to work with since those fields only have 1 intended value.
|
|
Convenience function similar in nature to Symbol.sizeOf
|
|
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.
|