On Thu Feb 6 14:44:50 2025 +0000, Jinoh Kang wrote:
Since this mechanism can't be fully precise (`DllMain` might call
functions from a different module) and we don't use such `GetProcAddress` calls inside Wine DLLs, where this feature is typically applied, I'm wondering if we could simplify it by treating `is_dynamic` as a `NULL` user here. On second look, there seems to be multiple Wine builtin DLLs that *do* call GetProcAddress() in DllMain:
- shlwapi: https://gitlab.winehq.org/wine/wine/-/blob/7b57598dcfc9198aa9cf6ac4ce17e2328...
- wintab32: https://gitlab.winehq.org/wine/wine/-/blob/7b57598dcfc9198aa9cf6ac4ce17e2328...
There may be other DLLs that I have missed (e.g., because GetProcAddress is called indirectly via some helper function in the same DLL). Maybe something needs to be done with these DLLs before we can get rid of dynamic dependency handling?
shlwapi looks like a relict from before PE conversion, we should be able to link those functions directly now. wintab32 will need a different solution anyway, ideally we wouldn't use PE exports in display drivers.