On Wed, Oct 07, 2009 at 11:49:49AM -0400, Charles Wilson wrote: >Christopher Faylor wrote: > >>> OK. But now...do we need any additional discussion of the patch itself, >>> or did we cover that sufficiently on cygwin-developers? >> >> If you've, as you say "tested" this, > >Yep, and no scare-quotes needed <g>. > >> I think we should get this in ASAP. > >OK. Committed as posted (in one lump), with the following change log > >2009-10-06 Charles Wilson <...> > > Additional pseudo-reloc-v2 support > * ntdll.h: Add custom NTSTATUS value for pseudo-reloc > errors STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION. > * pinfo.cc (status_exit): Map custom pseudo-reloc > error value STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION to 127. > * sigproc.cc (child_info::proc_retry): Return exit code when > STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION. > > Cygwin modifications to pseudo-reloc.c > * lib/pseudo-reloc.c: Added comments throughout and various > whitespace fixes. Exploit cygwin_internal(CW_EXIT_PROCESS,...) > for fatal error handling that is consistent with cygwin process > life-cycle. Ensure state variable (in _pei386_runtime_relocator) > is unique to each address space, across fork(). > (__print_reloc_error): New function for reporting errors in a > manner supported by cygwin at this early stage of the process > life-cycle. > (_pei386_runtime_relocator): Ensure relocations performed > only once for each address space, but are repeated after fork() > in the new address space. > only once for each address space (e.g. across fork()). > (__write_memory) [MINGW]: Ensure that b is always initialized > by call to VirtualQuery, even if -DNDEBUG. > > * lib/pseudo-reloc.c: Import new implementation to support > v2 pseudo-relocs implemented by Kai Tietz from mingw.
Thanks. FYI, I just generated a snapshot with this change. cgf