commit 2f041239cb0c14c8c8e416ed799a3bacb2470fde (tree) parent cfcf02489d32c2d0b71ce00b66033b790f7e1135 Author: LemonBoy <thatlemon@gmail.com> Date: Tue, 7 May 2019 13:04:22 +0200 Always initialize the TLS Diffstat:
| M | std/special/bootstrap.zig | | | 14 | +++++++------- |
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/std/special/bootstrap.zig b/std/special/bootstrap.zig @@ -69,16 +69,16 @@ fn posixCallMainAndExit() noreturn { const envp = @ptrCast([*][*]u8, envp_optional)[0..envp_count]; if (builtin.os == builtin.Os.linux) { + // Find the beginning of the auxiliary vector const auxv = @ptrCast([*]std.elf.Auxv, envp.ptr + envp_count + 1); std.os.linux_elf_aux_maybe = auxv; - + // Initialize the TLS area std.os.linux.tls.initTLS(); - if (!builtin.single_threaded) { - if (std.os.linux.tls.tls_image) |tls_img| { - const tls_addr = std.os.linux.tls.allocateTLS(tls_img.alloc_size); - const tp = std.os.linux.tls.copyTLS(tls_addr); - std.os.linux.tls.setThreadPointer(tp); - } + + if (std.os.linux.tls.tls_image) |tls_img| { + const tls_addr = std.os.linux.tls.allocateTLS(tls_img.alloc_size); + const tp = std.os.linux.tls.copyTLS(tls_addr); + std.os.linux.tls.setThreadPointer(tp); } }