[PATCH 5/7] vcomp: Change _vcomp_fork_call_wrapper() args parameter type to void **.
Zebediah Figura (she/her)
zfigura at codeweavers.com
Mon Feb 8 17:57:30 CST 2021
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20210208/c824504d/attachment.sig>
More information about the wine-devel
mailing list