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.