| ... | ... | @@ -84,6 +84,7 @@ const current_variant: Variant = switch (native_arch) { |
| 84 | 84 | .riscv32, |
| 85 | 85 | .riscv64, |
| 86 | 86 | => .I_modified, |
| 87 | .hexagon, |
| 87 | 88 | .s390x, |
| 88 | 89 | .sparc64, |
| 89 | 90 | .x86, |
| ... | ... | @@ -246,6 +247,13 @@ pub fn setThreadPointer(addr: usize) void { |
| 246 | 247 | const rc = linux.syscall1(.set_thread_area, addr); |
| 247 | 248 | assert(rc == 0); |
| 248 | 249 | }, |
| 250 | .hexagon => { |
| 251 | asm volatile ( |
| 252 | \\ ugp = %[addr] |
| 253 | : |
| 254 | : [addr] "r" (addr), |
| 255 | ); |
| 256 | }, |
| 249 | 257 | .loongarch32, .loongarch64 => { |
| 250 | 258 | asm volatile ( |
| 251 | 259 | \\ mv tp, %[addr] |