https://bugs.winehq.org/show_bug.cgi?id=37540
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #23 from Zebediah Figura z.figura12@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?)