From ca29c23790ef87220b2f74cb6c77d4f40f9cd5b8 Mon Sep 17 00:00:00 2001 From: midipix Date: Feb 01 2019 04:06:12 +0000 Subject: __init_tls(): initialize the .detach_state, .locale, and .robust_list members. --- diff --git a/src/arch/nt32/crt_glue.c b/src/arch/nt32/crt_glue.c index 29effe8..f65fa9b 100644 --- a/src/arch/nt32/crt_glue.c +++ b/src/arch/nt32/crt_glue.c @@ -44,6 +44,10 @@ void __init_tls (size_t * auxv) T.pt.locale = &libc.global_locale; T.pt.tid = __syscall(SYS_set_tid_address, &T.pt.tid); + T.pt.detach_state = DT_JOINABLE; + T.pt.locale = &libc.global_locale; + T.pt.robust_list.head = &T.pt.robust_list.head; + libc.can_do_threads = 1; libc.tls_size = sizeof(struct __tls); }; diff --git a/src/arch/nt64/crt_glue.c b/src/arch/nt64/crt_glue.c index 29effe8..f65fa9b 100644 --- a/src/arch/nt64/crt_glue.c +++ b/src/arch/nt64/crt_glue.c @@ -44,6 +44,10 @@ void __init_tls (size_t * auxv) T.pt.locale = &libc.global_locale; T.pt.tid = __syscall(SYS_set_tid_address, &T.pt.tid); + T.pt.detach_state = DT_JOINABLE; + T.pt.locale = &libc.global_locale; + T.pt.robust_list.head = &T.pt.robust_list.head; + libc.can_do_threads = 1; libc.tls_size = sizeof(struct __tls); };