summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/dcrt0.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r--winsup/cygwin/dcrt0.cc10
1 files changed, 3 insertions, 7 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index 0b878a8b3..72161f91e 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -520,11 +520,7 @@ alloc_stack (child_info_fork *ci)
if (sm.AllocationBase == ci->stacktop)
ci->stacksize = 0;
else
- {
- alloc_stack_hard_way (ci, b + sizeof (b) - 1);
- _main_tls = &_my_tls;
- _main_tls->init_thread (NULL);
- }
+ alloc_stack_hard_way (ci, b + sizeof (b) - 1);
return;
}
@@ -665,8 +661,8 @@ dll_crt0_1 ()
this step. */
if (fork_info->stacksize)
{
- asm ("movl %0,%%fs:4" : : "r" (fork_info->stackbottom));
- asm ("movl %0,%%fs:8" : : "r" (fork_info->stacktop));
+ _tlsbase = (char *) fork_info->stackbottom;
+ _tlstop = (char *) fork_info->stacktop;
}
longjmp (fork_info->jmp, fork_info->cygpid);