http://bugs.winehq.org/show_bug.cgi?id=17497 Andrey Turkin <andrey.turkin(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrey.turkin(a)gmail.com --- Comment #10 from Andrey Turkin <andrey.turkin(a)gmail.com> 2009-10-21 08:56:40 --- Xfire hooks quite a few functions with 5 bytes long "jmpl" instruction. To do this, it copies instructions from function start to its own memory and sets up a trampoline back into a function; the problem is that Xfire doesn't recognize relative"call" instructions so when such instruction is copied and executed at different address it will lead to invalid code being executed. Unfortunately, since Wine dlls are usually compiled with -fPIC option, function prologue can sometimes look like: func+0: push ebp func+1: mov ebp, esp func+3: push ebx func+4: call thunk which, when hooked, will lead to a crash. Technically this is Xfire hook bug (it should recognize instructions that depends on their address and fix/emulate them accordingly) but on Windows this bug is never triggered. Stefan Dösinger recently submitted set of patches into Wine and GCC which force GCC to emit specific prologue for some functions hooked by Xfire. So compile very latest GCC (from CVS) and use it to compile Wine (from GIT) and that should fix this bug. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.