authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-23 07:27:17+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-30 02:33:15+02:00
log9db992bd9bf67efef3a81c76fc3896ac1c94d7e4
treef091791d6b1992880ed83fe56c8a25ab376c497e
parent44d4656dfc8ecf10a4dea0462767ca4e6513a818
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.os.linux.tls: Add loongarch support.


1 files changed, 9 insertions(+), 0 deletions(-)

lib/std/os/linux/tls.zig+9
......@@ -70,6 +70,8 @@ const current_variant: Variant = switch (native_arch) {
7070 .thumb,
7171 .thumbeb,
7272 => .I_original,
73 .loongarch32,
74 .loongarch64,
7375 .m68k,
7476 .mips,
7577 .mipsel,
......@@ -243,6 +245,13 @@ pub fn setThreadPointer(addr: usize) void {
243245 const rc = linux.syscall1(.set_thread_area, addr);
244246 assert(rc == 0);
245247 },
248 .loongarch32, .loongarch64 => {
249 asm volatile (
250 \\ mv tp, %[addr]
251 :
252 : [addr] "r" (addr),
253 );
254 },
246255 .riscv32, .riscv64 => {
247256 asm volatile (
248257 \\ mv tp, %[addr]