loader: Mark the stack as executable if possible.

L. Rahyen research at science.su
Wed Nov 15 12:09:40 CST 2006

> So for fixing some _broken_ applications this patch unconditionally
> disables nx protection for every application running under wine. Seems like
> a bad tradeoff imo. (Though I don't know how widespread these kind of
> broken applications are. But there are definitly applications out there
> which don't need this.)

	Most of Windows applications will not work. Especialy games. Yes there some 
applications that work but this is mostly small applications without complex 
GUI. Some example are Proxomitron (this is a proxy) and mdict (simple 9KB 
program with graphical interface). But most users use Wine for Games and for 
applications with complex GUI (complex GUI = complex application in most 
cases). Just try 10-20 popular games and 10-20 popular applications - most of 
them will crash without McCormack's patch or with noexec=on. Even if real 
problem is because of broken PE header this doesn't matter - we must emulate 
typical Windows behavior in such case (at least by default).

> This way would have the advantage that the behaviour is tunable either
> globally or on a per-app basis.

	That's great but what is the default behavior? By default Wine must work in 
compatibility mode with not-noexec-aware programs. And only if advanced user 
(simple user just want to run his apps and nothing more) want to try noexec 
protection with his Windows application it should be activated via registy 
(globally or for specific app). Otherwise it will be really major regression 
(most application will crash).

	What I want to say that Wine must work out-of-the-box in all cases where this 
is possible - this is what most users expect.

More information about the wine-devel mailing list