This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Shall dlopen("foo") succeeed if only "foo.dll" exists?


On Nov  2 20:05, Eric Blake wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> According to Corinna Vinschen on 11/2/2009 9:48 AM:
> > Weird question, right?
> > 
> > Here's the problem.
> > 
> > Assume you have a file "foo.so" on Linux.  If you call
> > 
> >   dlopen ("./foo.so", RTLD_LAZY);
> > 
> > it succeeds, but
> > 
> >   dlopen ("./foo", RTLD_LAZY);
> > 
> > fails because the dlopen function never adds any suffixes like .so
> > automatically.
> 
> And POSIX says "If file contains a <slash> character, the file argument is
> used as the pathname for the file. Otherwise, file is used in an
> implementation-defined manner to yield a pathname."  So I think we are
> better off NOT adding an implicit .dll.
> 
> > While we tend to change the implementation to be more Linux-like,
> > there could be some tools out there which erroneously depend on the
> > Windows-like behaviour of Cygwin's dlopen().
> 
> My only worry is whether libtool depends on this behavior.  But a quick
> look at the source code (although not a definitive one) shows that libtool
> is already adding a trailing dot on its own, in order to bypass window's
> automatic .dll appending.  So if anything, I'm guessing that not adding an
> implicit suffix is actually what libtool would prefer.

Maybe Chuck can make this definitive?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]