[PATCH 5/7] vcomp: Change _vcomp_fork_call_wrapper() args parameter type to void **.

Paul Gofman pgofman at codeweavers.com
Mon Feb 8 18:02:40 CST 2021


On 2/9/21 02:57, Zebediah Figura (she/her) wrote:
> On 2/8/21 5:50 PM, Paul Gofman wrote:
>> While looking at this I think I spotted a bug in ARM wrapper
>> implementation which seems to be copying the first parameter over and
>> over (doesn't increment the pointers while copying):
>>
>>                    "3:\tldr x0, [x2], #8\n\t"
>>                    "str x0, [x10], #8\n\t"
>>                    "subs w1, w1, #1\n\t"
>>                    "b.ne 3b\n\t"
>>
>> But I have no experience with ARM assembly and might be missing
>> something obvious. I don't have anything set up to build and run Wine
>> ARM unfortunately to test.
>
> The above ldr/str statements actually do increment x2 and x10
> (specifically, post-increment). The statements
>
> ldr x0, [x2, #8]
> str x0, [x10, #8]
>
> [i.e. with the offset inside the brackets] are equivalent but do not
> increment x2 and x10.
>
Oh, I see, thanks.




More information about the wine-devel mailing list