delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/11/28/19:23:24

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <3DE6B30B.1090205@ece.gatech.edu>
Date: Thu, 28 Nov 2002 19:21:31 -0500
From: Charles Wilson <cwilson AT ece DOT gatech DOT edu>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Ralf Habacker <Ralf DOT Habacker AT freenet DOT de>
CC: cygwin AT cygwin DOT com
Subject: Re: [Patch] skipping import libraries for performance reasons - direct
auto-import of dll's
References: <00d001c29734$8119f210$0aa807d5 AT BRAMSCHE>

>>Any comments on the revised patch?  Is there a better way to handle the
>>realpath()/REALPATH() thing?

> The only thing I like to say is, that instead of using a symbolic link to the
> dll, the "unix" way may be possible.
> What I mean is to put the dll into the lib dir (like the .so libraries in unix,
> the bin dir contains only executables) and to implement a LD_LIBRARY_PATH
> environmen support into cygwin1.dll, so that the dll could be used directly. But
> this is only an idea and there may be objectivies not to do so.

[Sigh.  We don't need to bore the binutils people with this cygwin 
policy debate.]

No, not really.  The windows runtime loader handles loading the DLL, and 
IT doesn't understand "LD_LIBRARY_PATH" and never will (closed source, 
MS, yadda yadda).  So it doesn't really matter whether cygwin1.dll 
understands LD_LIBRARY_PATH or not -- cygwin1.dll is not involved in 
loading DLLs (except for dlopen(), but that's a different subject).

Two choices:
   1) put /usr/lib, /usr/local/lib, etc etc into $PATH
   2) or do the symlink thing

Personally, I don't want to clutter the PATH with a bunch of lib 
directories -- and neither do you, Ralf.  You're always worried about 
speed on cygwin, and proposing things like auto-rebasing and prelinking 
and all sorts of disruptive things.

But according to MSDN, the one thing that slows program startup the MOST 
is searching for DLLs in a long PATH.  So, keep PATH short -- which 
means the DLLs need to live in the 'bin' directories which are already 
in the PATH.  That means

we either put -L/usr/bin and suchlike into the gcc specs file (BLECH!) 
or do the symlink thing.  Me, I vote for symlinks.  :-)

--Chuck


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019