This is the mail archive of the
mailing list for the Cygwin project.
Re: Waiting for xfree86? [Was: guile-1.6.4-1]
- From: Corinna Vinschen <vinschen at redhat dot com>
- To: cygwin-apps at cygwin dot com
- Date: Tue, 22 Jul 2003 20:45:23 +0200
- Subject: Re: Waiting for xfree86? [Was: guile-1.6.4-1]
- References: <Pine.GSO.4.56.0307221214181.1846@eos>
- Reply-to: cygwin-apps at cygwin dot com
On Tue, Jul 22, 2003 at 12:25:51PM -0500, Brian Ford wrote:
> I compile the program stuff.exe that depends upon the non-rebuilt dll
> foo.dll. No interfaces between stuff.exe and foo.dll were changed in
> 1.5.0, but foo.dll calls lseek.
> Now, when lseek in foo.dll is resolved at link time with the 1.5.0
> cygwin1.dll, lseek resolves to lseek64. But foo.dll wanted plain old
> Do I have this right, or am I still seriously confused?
Confused, I guess. You're mixing link time with load time. Link
time is when gcc (actually ld) creates the dll. Load time is when
the dll is loaded into memory on demand of an application linked
against symbols in that dll.
The dependency on lseek has been resolved at link time, the time when
foo.dll has been created. Therefore, if foo.dll expects lseek, it gets
lseek on load time.
When rebuilding foo.dll, the dependency to lseek is converted to a
dependency on lseek64 in the created dll already at link time.
`nm foo.dll' will show you the symbol lseek64. When foo.dll is loaded
into memory it expects to get lseek64 now.
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:firstname.lastname@example.org
Red Hat, Inc.