Hello Corinna, On 12.10.2011 11:26, Corinna Vinschen wrote:
First of all, we need a copyright assignment from you before we can accept non-trivial patches to Cygwin, see http://cygwin.com/contrib.html, the "Before you get started" section.
I am going to do that just in case I actually get something working (see below).
Windows 8 will very likely support the FAST_CWD stuff, the problem is just to find out how to find the global pointer pointing to the current FAST_CWD structure, and then, if the FAST_CWD structure changed.
It does do that, the code looks almost the same as in Windows 7. There are some differences that I haven't figured out yet. But I might actually wait for a beta version of Windows 8 before going forward.
Therefore I don't want to disable this message. If you're interested to get rid of it, it would be most helpful trying to track down how to find the global FAST_CWD pointer in W8.
If I understood the code correctly f_cwd_ptr is the location of ntdll!RtlpCurDirRef and find_fast_cwd_pointer tries to find that location. For some reason I couldn't get breakpoints working when debugging cygwin1.dll so I did some disassembling and found the correct location for ntdll!RtlpCurDirRef in Windows 8 version of ntdll (wow64).
Any hints for debugging the Cygwin dll itself as find_fast_cwd runs once per session so it has been very difficult trying to get a working breakpoint.
Teemu
