On 02.11.2015 04:09, Theodore Dubois wrote:
Darn! Forgot to cc the list.
Can someone explain exactly why absolute addresses are needed here? I'm new to wine, but eager to learn.
The main reasons are:
- The code still has to work after Chromium has moved it to a different memory location. A relative jump would not be suitable for that. Also, in our proof of concept patch, we want to avoid huge syscall tables, and instead pass a pointer in %eax. - DRM applications might complain when a function entry point looks too unusual. - In "non-relaxed" mode Chromium refuses to accept the entry point, if it doesn't match exactly the function signature on Windows. I don't think this is used for Steam yet, but its just a matter of time.
Regards, Sebastian