Commit 35e819aac8

Alex Rønne Petersen <alex@alexrp.com>
2025-10-18 15:02:31
std.os.linux.tls: implement or1k support
1 parent e646c47
Changed files (1)
lib
std
os
linux
lib/std/os/linux/tls.zig
@@ -79,6 +79,7 @@ const current_variant: Variant = switch (native_arch) {
     .mipsel,
     .mips64,
     .mips64el,
+    .or1k,
     .powerpc,
     .powerpcle,
     .powerpc64,
@@ -285,6 +286,13 @@ pub fn setThreadPointer(addr: usize) void {
             const rc = @call(.always_inline, linux.syscall1, .{ .set_thread_area, addr });
             assert(rc == 0);
         },
+        .or1k => {
+            asm volatile (
+                \\ l.ori r10, %[addr], 0
+                :
+                : [addr] "r" (addr),
+            );
+        },
         .powerpc, .powerpcle => {
             asm volatile (
                 \\ mr 2, %[addr]