harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Varlamov" <alexey.v.varla...@gmail.com>
Subject [drlvm] linking with runtime libraries on windows
Date Wed, 17 Oct 2007 06:55:47 GMT
Hi all,

Looking on HARMONY-3964 "[drlvm][build] missing MSVCR71D.DLL
dependency for debug builds", I'm surprised to realize that only GC
dlls in VM ever depend on MSVCR*.DLL, no matter release or debug.
All the rest of VM is linked against static LIBCMTD.LIB so every dll
carries it's own copy of C runtime, with independent heaps and static
data! Now it explains all that troubles with bad frees in
HARMONY-3772, and why each dll has to disable assert dialog
individually (HARMONY-4715). I've just tried fully dynamic build and
indeed all these problems are gone.

I guess why it was done so, and the only reason I could think of is
historycal. Does anyone knows other explanation? Otherwise I believe
the build must be fixed to link with MSVCRxx.DLL always. Especially as
we already redistribute them with classlib.

NB related links covering this topic:
[1] http://msdn2.microsoft.com/en-us/library/abx4dbyh(VS.71).aspx
[2] http://blogs.msdn.com/larryosterman/archive/2004/04/29/123090.aspx

View raw message