How exactly does Chromium replace the system calls with its own versions? Not quite sure how that works.
~Theodore
On Nov 01, 2015, at 07:18 PM, Sebastian Lackner sebastian@fds-team.de wrote:
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