delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/01/16/19:36:54

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
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <182801c19eee$f0166890$0200a8c0@lifelesswks>
From: "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au>
To: "Reini Urban" <rurban AT x-ray DOT at>,
"Larry Hall \(RFK Partners, Inc\)" <lhall AT rfk DOT com>
Cc: <cygwin AT cygwin DOT com>
References: <1011214219 DOT 8034 DOT ezmlm AT cygwin DOT com> <4 DOT 3 DOT 1 DOT 2 DOT 20020116182829 DOT 02304590 AT pop DOT ma DOT ultranet DOT com> <3C4617B1 DOT 7A7A5C31 AT x-ray DOT at>
Subject: Re: error trying to compile anything
Date: Thu, 17 Jan 2002 11:35:59 +1100
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
X-OriginalArrivalTime: 17 Jan 2002 00:36:26.0669 (UTC) FILETIME=[FF5BB5D0:01C19EEE]

----- Original Message -----
From: "Reini Urban" <rurban AT x-ray DOT at>
> cygwin does support softlinks, so we should use them.

But .dll's are loaded by the win32 (on 95) and the Native API (NT).
Cygwin symlinks are _not_ supported by those OS's, so symlinking is not
an option.

> the implementation is trivial, but there should be consense.

Implementation is non trivial (IMO). Here are some potential
implementations:
1) For win95, produce a kernel VXD that patches the CreateProcess call
to interpret symlinks.
2) For winNT, create a kernel thunk to do the same.
3) Create an NT service/device driver that creates an NT Reparse point,
and returns the correct cygwin1.dll canonical location. hardlinks aren't
good enough, they can't go across file systems.
4) Create replacement assembly stub for gcc to use when linking against
cygwin1.dll that will interpret symlinks and then at runtime fix up the
symbols that should have resolved to cygwin1.dll, to resolve against a
dynamically opened cygwin1.dll. Note that this will have to execute
before any .dll startup code.

Now, if you still think it's trivial, I'll be happy to review your
(trivial) patch to implement that.

Rob


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