diff options
author | midipix <writeonce@midipix.org> | 2019-01-27 22:48:10 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2019-01-31 23:06:12 -0500 |
commit | ca29c23790ef87220b2f74cb6c77d4f40f9cd5b8 (patch) | |
tree | bc2074cb4d6ceb50515109f67c3e0bc738eb62dd /src/arch | |
parent | cde3523cca916056f7680aa19acc35082b3a8eb6 (diff) | |
download | mmglue-ca29c23790ef87220b2f74cb6c77d4f40f9cd5b8.tar.bz2 mmglue-ca29c23790ef87220b2f74cb6c77d4f40f9cd5b8.tar.xz |
__init_tls(): initialize the .detach_state, .locale, and .robust_list members.
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/nt32/crt_glue.c | 4 | ||||
-rw-r--r-- | src/arch/nt64/crt_glue.c | 4 |
2 files changed, 8 insertions, 0 deletions
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); }; |