gecko and native msvcrt

Eric Pouech eric.pouech at orange.fr
Sat Apr 30 08:05:32 CDT 2011


Le 30/04/2011 12:15, Jacek Caban a écrit :
> On 4/29/11 11:58 PM, Eric Pouech wrote:
>> Le 29/04/2011 23:07, Dan Kegel a écrit :
>>> While testing a game with current gecko, I saw the error
>>>
>>> wine: Call from 0x7bc4ad90 to unimplemented function 
>>> msvcrt.dll._snwprintf_s,
>>> aborting
>>>
>>> The game needed a native msvcrt, so I had installed one with 
>>> winetricks,
>>> and it didn't export that function.
>>>
>>> So it seems that new gecko is incompatible with old msvcrt,
>>> and using native msvcrt as a workaround for bugs in wine's
>>> version is going to be harder than it used to be.
>>>
>>> Time to fix more of them msvcrt bugs, I guess...
>>> And/or find a more up to date msvcrt.dll for winetricks.
>>>
>>>
>>>
>> or link gecko against msvcr80 or msvcr90 instead of msvcrt
>
> It's harder than it seems, esp. because it's not well supported by 
> mingw-w64. Also even if we did it, Wine would still forward these 
> calls to msvcrt, so one would need another native DLL. Given that, we 
> need more serious reason for the change than supporting hackish 
> winetricks verb. Fixing our msvcrt implementation is the way to go IMO.
I don't agree on your last point
in native msvcrt, there is none _snwprintf_s function (it only exists in 
msvcrN where N>=8 (didn't really check all versions))
_snwprintf_s is implemented in our msvcrN (which forwards them to msvcrt)
the point here is that one tries to run gecko with native msvcrt which 
doesn't contain this function
so if gecko needs it, it shouldn't link to msvcrt but to msvcrN is we 
want to maintain compat with native DLLs

A+

-- 
Eric Pouech
"The problem with designing something completely foolproof is to underestimate the ingenuity of a complete idiot." (Douglas Adams)




More information about the wine-devel mailing list