[PATCH 2/3] winebuild: Don't use iretq in syscall dispatcher.

Jacek Caban jacek at codeweavers.com
Thu Jun 3 11:46:15 CDT 2021


On 6/3/21 6:37 PM, Zebediah Figura (she/her) wrote:
> On 6/3/21 11:33 AM, Jacek Caban wrote:
>> On 6/3/21 6:00 PM, Zebediah Figura (she/her) wrote:
>>> On 6/3/21 10:56 AM, Zebediah Figura (she/her) wrote:
>>>> On 6/3/21 8:02 AM, Jacek Caban wrote:
>>>>>
>>>>> Signed-off-by: Jacek Caban <jacek at codeweavers.com>
>>>>> ---
>>>>>      tools/winebuild/import.c | 7 +++----
>>>>>      1 file changed, 3 insertions(+), 4 deletions(-)
>>>>>
>>>>>
>>>>
>>>> Wait, so what if %rflags or %cs is modified?
>>>
>>> Eh, never mind, I think I see the point here, shame on me for not
>>> reading very well.
>>>
>>> I'm a bit confused now, though, how is patch 3/3 incorrect?
>>
>>
>> Only XMM6-XMM15 are preserved, as required by usual calling convention
>> requirements. The rest of FPU/YMM context is not preserved by the 'fast
>> path'.
>>
>
> I must be missing something, but doesn't that match the Windows ABI?


It does match general calling convention from Windows ABI, which is what 
applications should care about, but Windows syscalls have more 
guarantees than that.


Jacek




More information about the wine-devel mailing list