diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 5231de031..75e461930 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2004-09-27 Corinna Vinschen + + * lib/_cygwin_crt0_common.cc: Revert patch from 2004-09-16. Brakes + newly built DLLs. + 2004-09-24 Christopher Faylor Sergey Ivanov diff --git a/winsup/cygwin/lib/_cygwin_crt0_common.cc b/winsup/cygwin/lib/_cygwin_crt0_common.cc index 51be98003..935b84f31 100644 --- a/winsup/cygwin/lib/_cygwin_crt0_common.cc +++ b/winsup/cygwin/lib/_cygwin_crt0_common.cc @@ -15,6 +15,9 @@ details. */ #include #include +/* 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 */