http://bugs.winehq.org/show_bug.cgi?id=10514
--- Comment #9 from Anastasius Focht focht@gmx.net 2007-11-21 09:04:30 --- Hello,
--- quote ---- Bug 9420 is needed for broken Windows binaries, but there's no reason to require it for builtins, those can be built with correct imports. --- quote ----
Could you elaborate this? In what kind are windows dlls broken when they use forwarders to other than to already loaded dlls? It's pretty standard to move functionality between dlls. The forwarding stuff is actually better than using stub functions in one dll that calls the function in the other dll, it prevents explicit load time dependencies (by the "intermediate" stub). With the forwarder the "new" dll is not loaded unless the app actually asks for the forwarded function from the "old" dll.
The game imports API from wsock32.dll (winsock v1) and ws2_32.dll (winsock v2).
wsock32.dll has forwarders to mswsock.dll which is not explicitly pulled in (by earlier imports). Even in wine the loader must take care of those "hidden" dll references contained in forwarded APIs. There is no difference between builtins and their native counterparts when it comes to resolving forwarded exports or am I missing something?
Regards