summaryrefslogtreecommitdiffhomepage
path: root/src/arch
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2019-01-27 22:48:10 +0000
committermidipix <writeonce@midipix.org>2019-01-31 23:06:12 -0500
commitca29c23790ef87220b2f74cb6c77d4f40f9cd5b8 (patch)
treebc2074cb4d6ceb50515109f67c3e0bc738eb62dd /src/arch
parentcde3523cca916056f7680aa19acc35082b3a8eb6 (diff)
downloadmmglue-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.c4
-rw-r--r--src/arch/nt64/crt_glue.c4
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);
};