diff --git a/lib/std/os/linux/tls.zig b/lib/std/os/linux/tls.zig index 0c063e6df2e1d15335211954112f64f61d38765d..abac4318e446625aed88895f71d0589f72fe4c73 100644 --- a/lib/std/os/linux/tls.zig +++ b/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]