delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/06/10/22:08:47

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
Message-ID: <034101c0f21b$8f708a50$0200a8c0@lifelesswks>
From: "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au>
To: <cygwin-developers AT cygwin DOT com>
References: <001f01c0f0e6$72b8ec80$0200a8c0 AT lifelesswks> <20010610004015 DOT D29231 AT redhat DOT com> <23114413578 DOT 20010610185633 AT logos-m DOT ru> <20010610120846 DOT B5292 AT redhat DOT com> <027801c0f210$d1e7c5c0$0200a8c0 AT lifelesswks> <20010610211823 DOT A9379 AT redhat DOT com> <02ee01c0f214$e27d63f0$0200a8c0 AT lifelesswks> <20010610214736 DOT B9379 AT redhat DOT com> <032101c0f219$b7d04dc0$0200a8c0 AT lifelesswks> <20010610220532 DOT A9806 AT redhat DOT com>
Subject: Re: dll base address
Date: Mon, 11 Jun 2001 12:09:34 +1000
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4133.2400
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
X-OriginalArrivalTime: 11 Jun 2001 01:59:28.0685 (UTC) FILETIME=[25FE05D0:01C0F21A]

----- Original Message -----
From: "Christopher Faylor" <cgf AT redhat DOT com>
To: <cygwin-developers AT cygwin DOT com>
Sent: Monday, June 11, 2001 12:05 PM
Subject: Re: dll base address


> On Mon, Jun 11, 2001 at 11:56:22AM +1000, Robert Collins wrote:
> >----- Original Message -----
> >From: "Christopher Faylor" <cgf AT redhat DOT com>
> >To: <cygwin-developers AT cygwin DOT com>
> >Sent: Monday, June 11, 2001 11:47 AM
> >Subject: Re: dll base address
> >
> >
> >
> >>But, marking the DLL as unrelocatable will mean that the DLL will
never
> >>be able to be relocated even when it will work perfectly well.
> >
> >The only time that it will work well is when _every_ program run
within
> >that session (following a chain of fork() and spawn() calls) has _no_
> >conflicting dlls in the same address space.
>
> Right, and, I use software on a regular basis which injects a DLL into
> every executable that runs on the system.  I don't know where that DLL
> loads now.  If it happens to load in the 0x61* range, I'm potentially
> out of luck.

Sorry, I was unclear. I meant that the existing behaviour of cygwin is
such that it will only work when _every_ program .... address space.

I.e. that you are _already_ out of luck with your injecting .dll tool
because cygwin will be at 0x61*, or you would be observing the problem
with differing map address's cross process.

> >In a nutshell we have three options:
> >1) Make cygwin1.dll handle different base address cross-process
> >properly.
> >2) Mark cygwin1.dll non-relocatable until time and techniques to
> >implement 1) are found.
> >3) Ignore the issue until 1) occurs.
> >
> >I'm very happy to hear of other ways around the issue... but I think
a
> >quite, easy and not dirty fix is entirely appropriate. After all the
NT
> >Kernel address space is not relocatable, and we are performing
similar
> >tasks :].
>
> Of course, I'm not aware of any way to do this in ld, so this may all
> be a moot discussion anyway.

I'll go off and research that, if you are considering allowing it?

Rob

> cgf
>

- Raw text -


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