https://bugs.winehq.org/show_bug.cgi?id=48407
--- Comment #1 from Jacek Caban jacek@codeweavers.com --- Created attachment 66185 --> https://bugs.winehq.org/attachment.cgi?id=66185 hack
The problem is that OllyDbg tries to set PAGE_GUARD protection on whole ntdll code. This can't work with current design because we need to be able to execute signals to handle it and signal handlers themselves are protected. The unrecoverable page fault happens in this case on return from mprotect to ntdll.
The attached hack works around the problem. I didn't look why it worked before (my guess is that the problematic protection change is part of the initial breakpoint exception and before the patch, simulated breakpoint was not considered as this "special iniial" one; that would match the difference the patch made for VS). The path forward is to move ntdll to PE lib + native lib hybrid. I imagine that page guard related signal handling will not reach PE part in this case.