On 1/13/22 23:31, Mohamad Al-Jaf wrote:
Adding the debug channel declaration should be deferred until the first patch that uses it.
I was going to remove it but since the #ifdef guards ends with an unknown architecture, it would require the debug channel to display the fixme message, no?
Yes, in that case it would belong in this patch.
Is there any indication this function should be doing something like this at all?
I'm testing it out in Windows to get a sense of what it does. Here's my code in C++, let me know if it's incorrect:
typedef int (*CurrentIP)(); HMODULE hDLL = LoadLibraryA("wdscore.dll"); CurrentIP ip = (CurrentIP)GetProcAddress(hDLL, "CurrentIP"); std::cout << "CurrentIP() = " << ip() << "\n"; FreeLibrary(hDLL);
It returns random numbers, e.g. 10424371, 1249331, 6033459. So doesn't this mean it's returning the instruction pointer?
If so, I don't know how to write a conformance test for it. Would it be necessary in this case?
You could probably write a conformance test by manually emitting assembly, e.g. on i386 something like
call CurrentIP 1: cmp %eax, $1b sete %al ret
That's a bit of work, though, and it's not clear to me that it's worthwhile.