[PATCH] wdscore: Implement CurrentIP.

Mohamad Al-Jaf mohamadaljaf at gmail.com
Mon Jan 17 18:48:10 CST 2022


Hi,

> This is redundant, given the following two.

Yeah, that should have been obvious, not sure how I didn't see it.

> Though notice that in C it is illegal to add a number to a void*, so
> this line will raise some warnings. Convert pointers to char* or to
> uintptr_t to avoid the warnings.

Sorry about that. This is what I have now:

ok(cur <= ret && (char*)ret < ((char*)ret + 0x100), "Address %p not in
function starting at %p.\n", ret, cur);

Is it okay to cast it like this?

> My interpretation of that page is that calling
> __builtin_return_address(0) is always fine, it is for higher frames that
> it is not necessarily reliable. Still, it is a GCC-specific thing, so
> alternatives should be provided for other compilers.

I see, so would it be best to just use the assembly code?

Regarding the unit test, is it okay to declare the function directly in the
test itself? Doing this, the compiler doesn't issue a warning, but it seems
suboptimal to me. A header seems like the correct way to go. But I don't
know if it's acceptable to write a header file for just 1 function.

If you or the Wine team thinks a header file is required, should I submit 2
patches instead of one? First for the function implementation and the
second for the test, including the header file.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20220117/3a5dbc70/attachment.htm>


More information about the wine-devel mailing list