zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 9fde44229c30d6dbdc943af2a2c2cb82adf703f6 (tree)
parent 2b54437f243ef62a2e490350943bb313d5827639
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Tue, 21 Oct 2025 04:07:19 +0200

std.os.linux.tls: add alpha support

Diffstat:
Mlib/std/os/linux/tls.zig | 14++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/lib/std/os/linux/tls.zig b/lib/std/os/linux/tls.zig @@ -63,12 +63,13 @@ const Variant = enum { }; const current_variant: Variant = switch (native_arch) { + .aarch64, + .aarch64_be, + .alpha, .arc, .arceb, .arm, .armeb, - .aarch64, - .aarch64_be, .csky, .thumb, .thumbeb, @@ -138,6 +139,7 @@ const AbiTcb = switch (current_variant) { // usual, while the second one is unspecified. .aarch64, .aarch64_be, + .alpha, .arm, .armeb, .thumb, @@ -244,6 +246,14 @@ pub fn setThreadPointer(addr: usize) void { : [addr] "r" (addr), ); }, + .alpha => { + asm volatile ( + \\ lda a0, %[addr] + \\ wruniq + : + : [addr] "r" (addr), + ); + }, .arc, .arceb => { // We apparently need to both set r25 (TP) *and* inform the kernel... asm volatile (