This will fixes build on FreeBSD targeting i386.
From: Thibault Payet contact@thibaultpayet.fr
--- dlls/ntdll/unix/signal_i386.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c index d4fac225430..4ceece205e9 100644 --- a/dlls/ntdll/unix/signal_i386.c +++ b/dlls/ntdll/unix/signal_i386.c @@ -827,7 +827,7 @@ static void fixup_frame_fpu_state( struct syscall_frame *frame, const ucontext_t if (FPUX_sig(sigcontext)) { if (user_shared_data->ProcessorFeatures[PF_XMMI_INSTRUCTIONS_AVAILABLE]) - frame->u.xsave = *FPUX_sig(sigcontext); + frame->u.xsave = *((XSAVE_FORMAT *) FPUX_sig(sigcontext)); else fpux_to_fpu( &frame->u.fsave, FPUX_sig(sigcontext) ); frame->xstate.Mask = XSTATE_MASK_LEGACY;
Jinoh Kang (@iamahuman) commented about dlls/ntdll/unix/signal_i386.c:
#define ESP_sig(context) ((context)->uc_mcontext.mc_esp)
#define FPU_sig(context) NULL /* FIXME */ #define FPUX_sig(context) NULL /* FIXME */
I think the real problem is the FPUX_sig definitions. We should fix them instead:
```suggestion:-0+0 #define FPUX_sig(context) ((XSAVE_FORMAT *)NULL) /* FIXME */ ```
Ditto for other stub FPUX_sigs.