Fix crash at process init on 64 bit XP/2003 under WOW64
* init.cc (munge_threadfunc): Don't call NtQueryInformationThread with ThreadQuerySetWin32StartAddress info class on XP 64 and Server 2003 64. It crashes. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
1968c57d9c
commit
d03f429727
|
@ -1,3 +1,9 @@
|
|||
2015-11-12 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* init.cc (munge_threadfunc): Don't call NtQueryInformationThread with
|
||||
ThreadQuerySetWin32StartAddress info class on XP 64 and Server 2003 64.
|
||||
It crashes.
|
||||
|
||||
2015-11-09 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 1.
|
||||
|
|
|
@ -57,9 +57,12 @@ munge_threadfunc ()
|
|||
{
|
||||
char *threadfunc = NULL;
|
||||
|
||||
NtQueryInformationThread (NtCurrentThread (),
|
||||
ThreadQuerySetWin32StartAddress,
|
||||
&threadfunc, sizeof threadfunc, NULL);
|
||||
if (wincap.wow64_has_secondary_stack ())
|
||||
threadfunc = ebp[threadfunc_ix[0]];
|
||||
else
|
||||
NtQueryInformationThread (NtCurrentThread (),
|
||||
ThreadQuerySetWin32StartAddress,
|
||||
&threadfunc, sizeof threadfunc, NULL);
|
||||
if (!search_for || threadfunc == search_for)
|
||||
{
|
||||
search_for = NULL;
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
What's new:
|
||||
-----------
|
||||
|
||||
|
||||
What changed:
|
||||
-------------
|
||||
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
|
||||
- The fix for wine introduced in 2.3.0 crashes in 32 bit Cygwin on 64 bit XP
|
||||
and 64 bit Server 2003 only. This should work now.
|
||||
Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00187.html
|
Loading…
Reference in New Issue