[Bug 37540] Multiple games and applications wrapped with Enigma v4 and GG DRM schemes crash on startup (incompatible with use of position independent code (PIC) in Wine dlls)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Nov 26 11:11:01 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=37540

Zebediah Figura <z.figura12 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |z.figura12 at gmail.com

--- Comment #23 from Zebediah Figura <z.figura12 at gmail.com> ---
Hello Anastasius, a couple questions:

(1) How does Enigma copy functions? Is getting rid of the GOT pointer really
enough to make it work? Trying to copy an entire function is a very tenuous
process, and it seems like it could easily break (if not now, then in the
future) on things like assuming that the function is contiguous, or relative
jmp/call, or TCO...

(2) Along the lines of comment 22, while x86-32 PIC is arguably not even
worthwhile, x86-64 PIC is all but built in, and definitely more performant.
AFAIU it won't be broken by hot-patching in the same way that x86 PIC is, but
it could certainly be broken by function copying (unless, of course, the copier
is smart enough to understand RIP-relative addressing). Is this a concern? Are
you aware of schemes that might need -fno-PIC on x86-64? Though, if Gabriel is
correct that Windows uses PIC there, I guess this is unlikely.

(2b) Similarly, what about ARM? (What does PIC even look like on ARM?)

-- 
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.



More information about the wine-bugs mailing list