From: Cesar S. <ces...@gm...> - 2007-06-06 01:56:16
|
Keith Marshall wrote: > [FAO Cesar Strauss] > > Cesar, > > Do you monitor the MinGW-notify list, or otherwise keep an eye on the > various project trackers? I do monitor the MinGW-notify list. > Recently, there have been two similar > postings which I would appreciate if you could review, bug #1674783 and > patch #1729798. Both are derived from information originally posted to > the mailing list by Oscar Bonilla, who has recently joined the project. Sure, I will review these tracker items. I will take a look at how this problem was solved in Cygwin. > Perhaps you could discuss these with Oscar, with a view to incorporating > this Vista related update in time for MSYS-1.0.11? Sure. Regards, Cesar PS: This comment, in Cygwin sigproc.cc seems relevant: /* It appears that when running under WOW64 on Vista 64, the first DWORD value in the datastructure lpReserved2 is pointing to (msv_count in Cygwin), has to reflect the size of that datastructure as used in the Microsoft C runtime (a count value, counting the number of elements in two subsequent arrays, BYTE[count and HANDLE[count]), even though the C runtime isn't used. Otherwise, if msv_count is 0 or too small, the datastructure gets overwritten. This seems to be a bug in Vista's WOW64, which apparently copies the lpReserved2 datastructure not using the cbReserved2 size information, but using the information given in the first DWORD within lpReserved2 instead. 32 bit Windows and former WOW64 don't care if msv_count is 0 or a sensible non-0 count value. However, it's not clear if a non-0 count doesn't result in trying to evaluate the content, so we do this really only for Vista 64 for now. Note: It turns out that a non-zero value *does* harm operation on XP 64 and 2K3 64 (Crash in CreateProcess call). The value is sizeof (child_info_*) / 5 which results in a count which covers the full datastructure, plus not more than 4 extra bytes. This is ok as long as the child_info structure is cosily stored within a bigger datastructure. */ |