diff options
author | Christopher Faylor <me@cgf.cx> | 2010-10-02 19:08:21 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2010-10-02 19:08:21 +0000 |
commit | f0b04035b14216f492c906a69f16be6783a8e066 (patch) | |
tree | 6fe835fccb8d89abd47ebe2a9818e2c39b1dfca9 /winsup/cygwin/dcrt0.cc | |
parent | 1da77c2678b3f69f2bc212e79df6432a9fffb61c (diff) | |
download | newlib-f0b04035b14216f492c906a69f16be6783a8e066.zip newlib-f0b04035b14216f492c906a69f16be6783a8e066.tar.gz newlib-f0b04035b14216f492c906a69f16be6783a8e066.tar.bz2 |
* dcrt0.cc (dll_crt0_0): Move _main_tls initialization here.
(__dll_crt0): Only initialize _main_tls if it changes.
* fhandler_console.cc (fhandler_console::write): Fix debugging output.
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 12ab224..13dc33d 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -771,6 +771,8 @@ dll_crt0_0 () disable_dep (); #endif + _main_tls = &_my_tls; + /* Initialize signal processing here, early, in the hopes that the creation of a thread early in the process will cause more predictability in memory layout for the main thread. */ @@ -970,9 +972,11 @@ _dll_crt0 () { main_environ = user_data->envptr; if (in_forkee) - fork_info->alloc_stack (); + { + fork_info->alloc_stack (); + _main_tls = &_my_tls; + } - _main_tls = &_my_tls; _main_tls->call ((DWORD (*) (void *, void *)) dll_crt0_1, NULL); } |