Commit 1d8fca0060

Alex Rønne Petersen <alex@alexrp.com>
2024-08-03 19:57:06
std.os.windows.tls: Only define _tls_array when targeting MSVC.
LLVM does not use it when emitting code for the MinGW ABI.
1 parent 0f1db90
Changed files (1)
lib
std
os
windows
lib/std/os/windows/tls.zig
@@ -9,7 +9,7 @@ export var __xl_a: windows.PIMAGE_TLS_CALLBACK linksection(".CRT$XLA") = null;
 export var __xl_z: windows.PIMAGE_TLS_CALLBACK linksection(".CRT$XLZ") = null;
 
 comptime {
-    if (builtin.target.cpu.arch == .x86 and builtin.zig_backend != .stage2_c) {
+    if (builtin.cpu.arch == .x86 and builtin.abi == .msvc and builtin.zig_backend != .stage2_c) {
         // The __tls_array is the offset of the ThreadLocalStoragePointer field
         // in the TEB block whose base address held in the %fs segment.
         asm (