authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-28 19:05:58+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-30 02:33:16+02:00
loge6fe7a329ab42d259437b83a4294009feae7bfcd
tree132aa255548df345378b2a3624bbc08b6b2e65b8
parentd2b21d582341a2958cf41dde046466a1607926fb
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

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


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

lib/std/os/linux/tls.zig+8
......@@ -84,6 +84,7 @@ const current_variant: Variant = switch (native_arch) {
8484 .riscv32,
8585 .riscv64,
8686 => .I_modified,
87 .hexagon,
8788 .s390x,
8889 .sparc64,
8990 .x86,
......@@ -246,6 +247,13 @@ pub fn setThreadPointer(addr: usize) void {
246247 const rc = linux.syscall1(.set_thread_area, addr);
247248 assert(rc == 0);
248249 },
250 .hexagon => {
251 asm volatile (
252 \\ ugp = %[addr]
253 :
254 : [addr] "r" (addr),
255 );
256 },
249257 .loongarch32, .loongarch64 => {
250258 asm volatile (
251259 \\ mv tp, %[addr]