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?


Corinna Vinschen schrieb:
On Nov 2 14:17, Larry Hall (Cygwin) wrote:
On 11/02/2009 11:48 AM, Corinna Vinschen wrote:
For 1.7 our choice is to keep dlopen() checking for the .dll suffix to
be more Windows-like, or to be more Linux-like by dropping the check for
the .dll suffix so that dlopen() fails if the filename isn't specified
fully.
OK, I'll admit I'm responding with a question without actually looking at the
code and so one can feel free to ignore me. However the thought that came
to my mind is, should it really matter if dlopen() checks? What does the check
give us that just passing the name along to LoadLibrary() doesn't? At first
impression, doing the check just prematurely rejects names without
the DLL suffix
that would otherwise be accepted by Windows. Since there's a source
level change
that (typically) needs to happen to make the code work on Windows as opposed
to Linux/Unix, what benefit are we getting from this added check?

Good question, that's exactly why I'm asking.


Answer: Nothing but *maybe* a less surprising behaviour in terms of
POSIX compatibility. Allowing automatic file extension is not part of
the standards and not even mentioned as a possible option. Sure, if
that's nothing to worry about, we can stick to the current behaviour.
In terms of compatibility and least surprising behavior, what about accepting
dlopen ("bla.so") and looking for "bla.dll"? This might help to avoid source changes,
and it's kind of like the ".exe magic".
If POSIX requires to give the suffix I'm not sure whether this was wise and whether they had
different suffixes in different environments in mind. I wonder how this is handled on Mac
with its ".dylib" suffixes.


Thomas

--
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]