loader: Mark the stack as executable if possible.
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