I've been using dllwrap from cygwin with the -mno-cygwin option to compile
a dll that uses the mingw libraries. The dll I'm creating need the C
runtime environment for things like malloc. I'm also compiling command
line programs with the same -mno-cygwin option to gcc.
In Win98 both the dll and the standalone programs work fine. They load in
the dll's as needed and have no serious problems.
In Win2000 the standalone programs will load in the C runtime dll's
(crtdll and msvcrt) just fine. I imagine this is due to functions like
__mingw_CRTStartup, _mainCRTStartup, and _WinMainCRTStartup that serve as
entry points for the program.
However, in Win2000 the dll fails to load the C runtime libraries. Upon my
dll's first call to a standard C function like malloc my dll crashes with
a Memory Access Violation.
Any ideas why?
What entry points are provided from me by dllwrap/mingw when compiling my
How do the import tables work for dll's and how can I debug them since
Win2000 is clearly not importing what it needs to?