http://bugs.winehq.org/show_bug.cgi?id=10273
Peter Beutner p.beutner@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |p.beutner@gmx.net
--- Comment #8 from Peter Beutner p.beutner@gmx.net 2007-11-03 20:44:38 ---
From what i remember when debugging safedisc2 it was exactly this
__i686.get_pc_thunk.bx call it dislikes because it determines that it goes outside of the dll image. Safedisc takes the PE header as start of the image. But in wine the pe header actually starts somewhere in the .text section and the __i686.get_pc_thunk.bx func is before that. ( Haven't really looked into why the builtin dlls are linked this way and if this can be changed.) But building those three dlls without -fPIC(so no __i686.get_pc_thunk.bx) makes it work(for at least some safedisc versions). I successfully tested it with: Max Payne V1.0 - Safedisc: 2.30.033 V1.05 - 2.51.020 Stronghold V1.0 - 2.40.010
Any greater version of safedisc2(>= 2.6x?) seems to have additional checks and it fails again with the usual "ExitProcess( 0xfeedface)".
btw.: ProtectionID helps with identifying the used copy protection and its version. Just google for it.