mirror of
https://github.com/ziglang/zig.git
synced 2026-02-13 21:08:36 +00:00
std.os.linux.tls: add alpha support
This commit is contained in:
parent
2b54437f24
commit
9fde44229c
@ -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 (
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user