May 20, 2025
7:02 a.m.
On Tue May 20 07:02:55 2025 +0000, eric pouech wrote:
--- not having separate entries in the .spec file would end up for all the impacted APIs with something like
#ifdef _WIN64
BOOL WINAPI SymGetModuleInfo(HANDLE hProcess, DWORD64 dwAddr,
PIMAGEHLP_MODULE64 ModuleInfo)
{
return SymGetModuleInfo64(proc, dwAddr, ModuleInfo): /* map to XX64 variant */
}
#else
/* keep existing code related to 32bit address space */
BOOL WINAPI SymGetModuleInfo(HANDLE hProcess, DWORD dwAddr,
PIMAGEHLP_MODULE ModuleInfo)
{
...
}
#endif
signatures for the various functions are different:
- addresses = 32 vs 64 bit
- most of used types are different (because _IMAGEHLP_SOURCE_ is adefine:d)
I prefer what this MR does as:
- it mimics what native does with the same exported address for these functions on 64 compilation (and I don't think using an alias in .c is a more viable approach)
- it saves the code to map to the 64 suffixed functions
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8076#note_103931