https://bugs.winehq.org/show_bug.cgi?id=47198
jamesbuyacar@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jamesbuyacar@gmail.com
--- Comment #81 from jamesbuyacar@gmail.com --- (In reply to Andrew Wesie from comment #39)
Created attachment 64507 [details] Alternative patch by using a fake cs segment
This patch is better than the previous ones because it is simpler and does not require patching libc. It is also worse than the previous ones because it is more of a hack and moves us further away from a real Windows environment.
this patch is working perfectly for me in wine-staging 4.15, but no longer applies cleanly on 4.16.
$ sudo cat `sudo find /var/tmp/portage/app-emulation/wine-staging-4.16 -name signal_i386.c.rej` --- dlls/ntdll/signal_i386.c +++ dlls/ntdll/signal_i386.c @@ -1578,7 +1580,7 @@ static inline DWORD is_privileged_instr( CONTEXT *context ) const BYTE *instr; unsigned int prefix_count = 0;
- if (!wine_ldt_is_system( context->SegCs )) return 0; + if (context->SegCs != wine_cs && !wine_ldt_is_system( context->SegCs )) return 0; instr = (BYTE *)context->Eip;
for (;;) switch(*instr)
I much prefer addressing the bug in wine as opposed to needing to manage a second patched glibc.
any chance of getting an updated patch into wine-staging?