[PATCH 2/5] ntdll: Implement RtlWalkFrameChain() for x86 and x86_64.

Giovanni Mascellani gmascellani at codeweavers.com
Fri Oct 22 08:48:02 CDT 2021


Hi,

Il 21/10/21 18:03, Paul Gofman ha scritto:
> +    start = test_walk_stack;
> +    end = (BYTE *)start + 0x1000;
> +    todo_wine_if(sizeof(void *) == 4)
> +    ok(addrs[0] >= start && addrs[0] < end, "Address is not inside test function, start %p, end %p, addr %p.\n",
> +            start, end, addrs[0]);
> +    todo_wine_if(sizeof(void *) == 4)
> +    ok(addrs2[0] >= start && addrs2[0] < end, "Address is not inside test function, start %p, end %p, addr %p.\n",
> +            start, end, addrs2[0]);

Another check you could do is whether addrs[1] == 
__builtin_extract_return_addr(__builtin_return_address(0)). Probably you 
don't even need __builtin_extract_return_addr, because I think it is 
required only for architectures for which we do not compile anyway.

Giovanni.



More information about the wine-devel mailing list