Subject: Apparent DLL loader problems.
From: [email-masked] (Mike Stephenson)

23 Jan 1997 08:13:18 -0800
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
Reply-To: [email-masked]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Original-To: [email-masked] (GNU Win32 Mailing list)
X-Mailer: ELM [version 2.4 PL24]
Original-Sender: [email-masked]

I have a problem...
 
        No, I actually have a *big* problem - specifically a problem when
linking very large programs.
 
        First of all, for historical reasons, I'm unfortunately still using
B14.  One of my hopes is that someone can tell me if B17.1 will solve the
problem.  I'm also mixing a set of statically linked gcc .a libraries with
dlltool extractions of both system dlls and my own MSVC 4.1 built dlls.
 
        From the debugger output, it looks like the indirection table
used by some of the system calls (e.g. lstat, setjmp) are not being
properly initialized when cygwin.dll is loaded.  They seem to be retaining
data  that they had on program start (probably the relative address of the
routines inside the dlls, but I don't know).
 
        The exact point at which the program dies changes, depending on the
order of linkage of the exact same modules.  For example, if you link with
one order, setjmp fails by jumping out to an invalid address, relink in a
different order and lstat does the same thing.
 
        Has anyone else seen this problem?  Can it be fixed in B17.1, or
am I treading in unexplored territory here?
 
        Also, can anyone tell me if this is a problem on the NT side, or
as I currently expect, a problem on the Cygnus side after the DLL has been
loaded into memory.
 
                                Thanks in advance...
 
                                        Mike Stephenson

Mail:	Siemens Nixdorf 		Phone:	(905) 819-5944
	Document Management Systems	FAX:	      819-5949
	2185 Derry Rd. West
	Mississauga, Ontario
	Canada   M3C 3L8		INTERNET:     [email-masked]
-
For help on using this list, send a message to
"[email-masked]" with one line of text: "help".