diff options
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/lib/_cygwin_crt0_common.cc | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 5231de0..75e4619 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2004-09-27 Corinna Vinschen <corinna@vinschen.de> + + * lib/_cygwin_crt0_common.cc: Revert patch from 2004-09-16. Brakes + newly built DLLs. + 2004-09-24 Christopher Faylor <cgf@timesys.com> Sergey Ivanov <seriv@parkheights.dyndns.org> diff --git a/winsup/cygwin/lib/_cygwin_crt0_common.cc b/winsup/cygwin/lib/_cygwin_crt0_common.cc index 51be980..935b84f 100644 --- a/winsup/cygwin/lib/_cygwin_crt0_common.cc +++ b/winsup/cygwin/lib/_cygwin_crt0_common.cc @@ -15,6 +15,9 @@ details. */ #include <reent.h> #include <stdlib.h> +/* Avoid an info message from linker when linking applications. */ +extern __declspec(dllimport) struct _reent *_impure_ptr; + #undef environ extern "C" @@ -60,6 +63,10 @@ _cygwin_crt0_common (MainFunc f, per_process *u) u->ctors = &__CTOR_LIST__; u->dtors = &__DTOR_LIST__; u->envptr = &environ; + if (uwasnull) + _impure_ptr = u->impure_ptr; /* Use field initialized in newer DLLs. */ + else + u->impure_ptr_ptr = &_impure_ptr; /* Older DLLs need this. */ u->forkee = 0; /* This should only be set in dcrt0.cc when the process is actually forked */ |