Alex Rønne Petersen
b470d2a7de
std.debug: Support sparc32 in StackIterator.init().
2024-08-13 23:54:20 -07:00
Alex Rønne Petersen
dc77d1b66d
std.Thread: Merge riscv32/riscv64 assembly in freeAndExit().
2024-08-13 23:53:57 -07:00
Andrew Kelley
72768bddcd
std.Build.Fuzz.WebServer: sort pcs before source location lookup
...
Unfortunately, the PCs do not get sorted during linking.
2024-08-13 19:30:22 -07:00
Andrew Kelley
a726e09389
std.debug.Coverage.resolveAddressesDwarf: assert sorted
2024-08-13 19:29:55 -07:00
Andrew Kelley
022bca9b06
std.debug.Dwarf: better source location information
...
Two fixes here:
Sort by addresses after generating the line table. Debug information in
the wild is not sorted and the rest of the implementation requires this
data to be sorted.
Handle DW.LNE.end_sequence correctly. When I originally wrote this code,
I misunderstood what this opcode was supposed to do. Now I understand
that it marks the *end* of an address range, meaning the current address
does *not* map to the current line information.
This fixes source location information for a big chunk of ReleaseSafe
code.
2024-08-13 18:04:23 -07:00
Andrew Kelley
a9e7fb0e01
avoid a branch in resolveAddressesDwarf
2024-08-13 15:02:53 -07:00
Andrew Kelley
b5398180d6
std.debug.Coverage.resolveAddressesDwarf: fix broken logic
...
The implementation assumed that compilation units did not overlap, which
is not the case. The new implementation uses .debug_ranges to iterate
over the requested PCs.
This partially resolves #20990 . The dump-cov tool is fixed but the same
fix needs to be applied to `std.Build.Fuzz.WebServer` (sorting the PC
list before passing it to be resolved by debug info).
I am observing LLVM emit multiple 8-bit counters for the same PC
addresses when enabling `-fsanitize-coverage=inline-8bit-counters`. This
seems like a bug in LLVM. I can't fathom why that would be desireable.
2024-08-13 15:02:53 -07:00
Alex Rønne Petersen
f1af9eb836
std.zig.system: Support qemu-xtensa in getExternalExecutor().
2024-08-13 23:30:43 +02:00
Alex Rønne Petersen
8e75ade253
std.zig.system: Support qemu-mipsn32(el) for mips with n32 ABI in getExternalExecutor().
2024-08-13 23:30:43 +02:00
Alex Rønne Petersen
0e4263893c
std.zig.system: Support qemu-sparc32plus for sparc32 with v9 in getExternalExecutor().
2024-08-13 23:30:43 +02:00
YANG Xudong
76f062690c
add getcontext
2024-08-13 10:11:17 -07:00
Alex Rønne Petersen
e725d1e226
std.Thread: Fix freeAndExit() syscall numbers for mips64.
...
These just seem to have been copy/pasted from mips32.
2024-08-13 00:56:35 -07:00
Alex Rønne Petersen
d0ae803a77
std.Thread: Fix freeAndExit() assembly for powerpc.
...
Wrong source/destination register order.
2024-08-13 00:56:14 -07:00
Alex Rønne Petersen
b00f586c3d
std.os.linux: Add clone() implementation for mips64. (#21038 )
...
Only for n64; no handling for n32 yet.
Also remove pointless comment about o32 in mips64 code.
2024-08-12 16:09:52 -07:00
Alex Rønne Petersen
d6f9972594
all: Handle spirv in addition to spirv(32,64) where applicable.
...
Some of this is arbitrary since spirv (as opposed to spirv32/spirv64) refers to
the version with logical memory layout, i.e. no 'real' pointers. This change at
least matches what clang does.
2024-08-12 16:08:28 -07:00
Alex Rønne Petersen
6d23850108
std.Thread: Explain apparently pointless mips instruction in freeAndExit().
...
https://git.musl-libc.org/cgit/musl/commit/?id=ce3688eca920aa77549323f84e21f33522397115
2024-08-12 16:07:46 -07:00
Andrew Kelley
f988cea825
Merge pull request #21019 from alexrp/target-os-cleanup
...
`std.Target`: Remove `minix` and `liteos`, rename `glsl450` to `opengl`, and some minor housekeeping
2024-08-12 16:06:57 -07:00
Alex Rønne Petersen
f7fb261efd
std.os.linux.tls: Support sparc32.
2024-08-12 14:22:24 -07:00
Linus Groh
9ef16b36ce
std.os.linux: Fix definition of tc_lflag_t on MIPS
...
Regressed in #21000 .
2024-08-12 00:46:28 -07:00
Alex Rønne Petersen
7a41e2f40b
std.zig.target: Add missing thumbeb triples.
2024-08-12 00:44:56 -07:00
Alex Rønne Petersen
8af4d65108
std.Target: Remove liteos OS tag.
...
It has not seen development in 4 years.
https://github.com/LiteOS/LiteOS/commits/master
2024-08-12 08:59:49 +02:00
Alex Rønne Petersen
e211dce6fc
std.Target: Remove minix OS tag.
...
It has not seen development in 6 years. RIP.
* https://github.com/Stichting-MINIX-Research-Foundation/minix/commits/master
* https://groups.google.com/g/minix3/c/nUG1NwxXXkg
2024-08-12 08:59:49 +02:00
Alex Rønne Petersen
4d4a023042
std.Target: Remove no longer relevant TODO about SPIR-V ABIs.
2024-08-12 08:59:49 +02:00
Alex Rønne Petersen
eb4539a27d
std.Target: Rename glsl450 Arch tag to opengl.
...
Versions can simply use the normal version range mechanism, or alternatively an
Abi tag if that makes more sense. For now, we only care about 4.5 anyway.
2024-08-12 08:59:47 +02:00
Alex Rønne Petersen
15a3ee1979
std.Target: Remove supportsNewStackCall().
...
This is literally just isWasm() and has no uses in the repository.
2024-08-12 08:57:10 +02:00
Alex Rønne Petersen
0bb9db3998
std.Target: Add comments explaining the baseline CPUs for hexagon/s390x.
2024-08-12 08:57:10 +02:00
Alex Rønne Petersen
7f7008b5b2
std.Target: Sort Os tags in a hopefully more sensible way.
2024-08-12 08:57:10 +02:00
Alex Rønne Petersen
60bf1a6543
std.Target: Sort Arch tags in a hopefully more sensible way.
2024-08-12 08:57:10 +02:00
Alex Rønne Petersen
25096ed893
std.Target: Some corrections and additions to stackAlignment().
...
Sourced from LLVM and GCC backends and ABI documents.
2024-08-11 20:28:29 -07:00
Alex Rønne Petersen
8161e61548
std.os.linux.start_pie: Add support for the new RELR relocation format.
2024-08-11 20:27:09 -07:00
Andrew Kelley
61dac74128
Merge pull request #20985 from alexrp/gpu-nonsense
...
Follow-up on `std.Target` GPU changes in #20960
2024-08-11 20:23:28 -07:00
Alex Rønne Petersen
6316fd9535
std.Target: Add goff and xcoff to ObjectFormat.
...
Also improve the docs a bit, and handle driverkit and dxil in default().
2024-08-11 20:21:28 -07:00
Linus Groh
4ef956ef14
std.Target: Rename c_type_* functions to camel case
...
From https://ziglang.org/documentation/master/#Names :
> If `x` is otherwise callable, then `x` should be `camelCase`.
2024-08-12 00:36:51 +01:00
Linus Groh
fd434fcd38
std.Target: Rename feature_set_fns to FeatureSetFns
...
From https://ziglang.org/documentation/master/#Names :
> If `x` is callable, and `x`'s return type is `type`, then `x` should
> be `TitleCase`.
2024-08-12 00:34:59 +01:00
Alex Rønne Petersen
8f917870a6
std.Target: Bump maximum supported versions of all Apple OSs.
...
https://support.apple.com/en-us/HT201222
2024-08-10 20:24:22 +02:00
Alex Rønne Petersen
b99777940e
std.Target: Bump maximum supported OpenBSD version to 7.5.
2024-08-10 20:24:21 +02:00
Alex Rønne Petersen
d7e19f7f8e
std.Target: Bump minimum supported OpenBSD version to 7.3.
...
Per 0.13.0 release notes: https://ziglang.org/download/0.13.0/release-notes.html#Tier-2-Support
2024-08-10 20:24:20 +02:00
Alex Rønne Petersen
8088027e72
std.Target: Bump minimum supported Windows version to win10.
...
Per 0.13.0 release notes: https://ziglang.org/download/0.13.0/release-notes.html
2024-08-10 20:24:19 +02:00
Alex Rønne Petersen
fa51e84a87
std.Target: Use Solaris version instead of SunOS version for solaris OS tag.
...
The latter is not a very useful number: https://en.wikipedia.org/wiki/Oracle_Solaris#Version_history
2024-08-10 20:24:18 +02:00
Andrew Kelley
54151428e5
std.crypto: better names for everything in utils
...
std.crypto has quite a few instances of breaking naming conventions.
This is the beginning of an effort to address that.
Deprecates `std.crypto.utils`.
2024-08-09 19:47:06 -07:00
Alex Rønne Petersen
ae5bf2faab
std.os.linux: Retranslate and port some ioctl-related types and values.
2024-08-09 13:10:51 -07:00
Andrew Kelley
71a27ebd84
Merge pull request #21004 from alexrp/linux-6.10
...
Linux 6.10 headers/syscalls
2024-08-09 13:08:39 -07:00
Andrew Kelley
f6f1ecf0f9
more optimized and correct management of 8-bit PC counters
...
* Upgrade from u8 to usize element types.
- WebAssembly assumes u64. It should probably try to be target-aware
instead.
* Move the covered PC bits to after the header so it goes on the same
page with the other rapidly changing memory (the header stats).
depends on the semantics of accepted proposal #19755
closes #20994
2024-08-08 21:46:36 -07:00
Andrew Kelley
4e32edbff5
fuzzing: comptime assertions to protect the ABI
...
compile errors are nice
2024-08-08 21:46:36 -07:00
YANG Xudong
a9b65b6fd4
std: add loongarch64 support ( #20915 )
...
Co-authored-by: Alex Rønne Petersen <alex@alexrp.com>
2024-08-09 00:30:57 +00:00
Alex Rønne Petersen
10949a6914
std.Target: Update default max Linux version to 6.10.3.
2024-08-09 00:34:54 +02:00
Alex Rønne Petersen
3a1d4dd19e
Update Linux syscalls to 6.10.
2024-08-09 00:34:52 +02:00
John Benediktsson
a854ce3021
std.hash_map: adding a rehash() method ( #19923 )
...
see #17851
2024-08-08 11:59:22 -07:00
Andrew Kelley
8031251c33
Merge pull request #20997 from xxxbxxx/debuglink
...
std.debug.Dwarf: improve loading debug symbol from separate files
2024-08-08 11:06:14 -07:00
Andrew Kelley
cf87a1a7cf
language: add module name field to @src
...
closes #20963
2024-08-08 07:47:14 -07:00