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.