From aff557e4e81f88028e34fad8aa86f7361ef1632e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Tue, 21 Oct 2025 03:50:09 +0200 Subject: [PATCH] std.os.linux.tls: add sh support --- lib/std/os/linux/tls.zig | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/std/os/linux/tls.zig b/lib/std/os/linux/tls.zig index 4d22824aa9..57ea18764f 100644 --- a/lib/std/os/linux/tls.zig +++ b/lib/std/os/linux/tls.zig @@ -73,6 +73,8 @@ const current_variant: Variant = switch (native_arch) { .csky, .microblaze, .microblazeel, + .sh, + .sheb, .thumb, .thumbeb, => .I_original, @@ -144,6 +146,8 @@ const AbiTcb = switch (current_variant) { .armeb, .microblaze, .microblazeel, + .sh, + .sheb, .thumb, .thumbeb, => extern struct { @@ -337,6 +341,13 @@ pub fn setThreadPointer(addr: usize) void { : [addr] "r" (addr), : .{ .r0 = true }); }, + .sh, .sheb => { + asm volatile ( + \\ ldc gbr, %[addr] + : + : [addr] "r" (addr), + ); + }, .sparc, .sparc64 => { asm volatile ( \\ mov %[addr], %%g7