From: Zebediah Figura zfigura@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51268 --- dlls/ntdll/unix/signal_i386.c | 4 +++- dlls/ntdll/unix/signal_x86_64.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c index d665e281176..d800885748f 100644 --- a/dlls/ntdll/unix/signal_i386.c +++ b/dlls/ntdll/unix/signal_i386.c @@ -2601,7 +2601,9 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher, "movl %edx,0x274(%ecx)\n\t" "movl %edx,0x278(%ecx)\n\t" "movl %edx,0x27c(%ecx)\n\t" - "xsavec 0x40(%ecx)\n\t" + /* The xsavec instruction is not supported by + * binutils < 2.25. */ + ".byte 0x0f, 0xc7, 0x61, 0x40\n\t" /* xsavec 0x40(%ecx) */ "jmp 4f\n" "1:\txsave 0x40(%ecx)\n\t" "jmp 4f\n" diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c index 15d1a3539a1..2354431fdd3 100644 --- a/dlls/ntdll/unix/signal_x86_64.c +++ b/dlls/ntdll/unix/signal_x86_64.c @@ -2691,7 +2691,9 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher, "movq %rdx,0x2e8(%rcx)\n\t" "movq %rdx,0x2f0(%rcx)\n\t" "movq %rdx,0x2f8(%rcx)\n\t" - "xsavec64 0xc0(%rcx)\n\t" + /* The xsavec instruction is not supported by + * binutils < 2.25. */ + ".byte 0x48, 0x0f, 0xc7, 0xa1, 0xc0, 0x00, 0x00, 0x00\n\t" /* xsavec64 0xc0(%rcx) */ "jmp 3f\n" "1:\txsave64 0xc0(%rcx)\n\t" "jmp 3f\n"