Hi

> -----Original Message-----
> From: Martin Storsjö <[email protected]>
> Sent: Wednesday, April 24, 2019 3:54 PM
> To: [email protected]
> Subject: Re: [Mingw-w64-public] PKGBUILD script for toolchain, still having
> GCC compile errors
> 
> On Wed, 24 Apr 2019, Kacvinsky, Tom wrote:
> 

<snip/>

> 
> At least for a plain hello world project, msvcrt.dll is not loaded by the 
> built
> executable itself. (You can check with objdump -x foo.exe; a bit down you
> find the import tables.)
> 
> In my case, I also do see msvcrt.dll though. If looking through the
> dependencies with e.g. Dependency Walker, I see that some of the linked
> DLls, advapi32.dll and shell32.dll do load msvcrt.dll. While this does seem a 
> bit
> weird, apparently it's unavoidable as long as the system DLLs link against it.
> And it shouldn't hurt, because a DLL loaded on windows can't affect other
> ones in the same process (contrary to how shared objects with one global
> symbol namespace works on ELF).
> 


I think I know what is going on here - ldd does a recursive dependency walk
(a transitive closure), and hence picks up the system libraries, which in turn
depend on msvcrt.dll.  the actual DLL I built does not have a direct dependency
on msvcrt.dll.

This is confirmed by using dependency walker.  I am going to do some thorough
testing of all of this to see how I fare.

Once again, many thanks.

Tom

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to