Pavel Troller <[EMAIL PROTECTED]> writes: > Hi! > As some of you know, I'm experimenting with my new 64bit systems. I've found > that there are problems running a lot of applications, which normally run on > a 32bit system. > A typical example is IL2 Sturmovik Forgotten Battles game. On a 32bit > system, > with the latest wine CVS (even compiled on a 64bit system) it runs flawlessly. > On a 64bit system, it just prints > fixme:seh:check_no_exec No exec fault triggered at 0x6d4d08b0, enabling > work-around > but the workaround seems to be unefficient, because nothing more happens. > With a +relay, it shows that the program is looping, executing > 0009:Call msvcrt._except_handler3(7fb2faa0,7fb2fba0,7fb2f7d4,7fb2f714) > ret=7bc54d65 > 0009:Ret msvcrt._except_handler3() retval=00000000 ret=7bc54d65 > and nothing more, ad infinitum. > The machines are running very similar kernels. Both are hardened with > exec-shield, but even disabling it on a 64bit by > 'echo 0 >/proc/sys/kernel/exec-shield' doesn't help. The 32bit works even with > exec-shield enabled (and doesn't print the no-exec message). > Are there chances to fix this issue ? Or is it a system problem ?
It may be that your kernel doesn't allow writable memory to be made executable, in which case we can't do anything about it. Or maybe the workaround is simply broken... It may also be possible to make that section executable some other way, you'll need to investigate what that memory address corresponds to in the app. -- Alexandre Julliard [EMAIL PROTECTED]