Once more I need your help. It seems that wine is not correct with the way it sets guard pages for stack. Here is an example that works fine on windows, and fails on wine. And yes, I do have a program that does something like this:
PDWORD p = TEB.Tib.StackLimit; *p = 0;
I'm not sure what to do here. It looks like there are several places that we allocate stack, and both of them set first page (last for stack) as a PAGE_GUARD. Could that be that this wasn't what we wanted? Since both places using size of 1. But this looks like sets whole page to be guard page.