delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/09/18/22:38:47

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
content-class: urn:content-classes:message
MIME-Version: 1.0
Subject: RE: [BUG] cygwin-1.3.3-2 -- making auto-import dlls
X-MimeOLE: Produced By Microsoft Exchange V6.0.4417.0
Date: Wed, 19 Sep 2001 12:47:32 +1000
Message-ID: <EA18B9FA0FE4194AA2B4CDB91F73C0EF08F199@itdomain002.itdomain.net.au>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [BUG] cygwin-1.3.3-2 -- making auto-import dlls
Thread-Index: AcFAtQxk9WMLnPOxRj6Tg6WhIxSmKAAABy4A
From: "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au>
To: "Charles Wilson" <cwilson AT ece DOT gatech DOT edu>
Cc: <cygwin AT cygwin DOT com>
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id WAA10647


> -----Original Message-----
> From: Charles Wilson [mailto:cwilson AT ece DOT gatech DOT edu]
> > Solution: don't use auto-image-base. The overhead from relocation is
> > quite low, why not let windows just do its thing.
> 
> 
> Okay, suppose I have 5 dll's that are all based at the default, 
> 0x10000000. I start an exe that depends on those 5,  so at 
> startup time 
> they all get relocated to (random) address in my exe's address space. 
> Then cygwin1.dll is loaded. But the random addresses chosen for the 
> relocation for the first 5 dlls MAY or may NOT conflict with 
> cygwin1.dll's *fixed* location.
> 
> Boom (sometimes).
> 
> How is this better than the current "boom (sometimes)" 
> behavior?  What 
> am I missing?

AFAIK Relocated .dll's will never push a .dll with a different base
address out of the way. I.E. For that set of .dll's

the program will get it's address 0x10000000, cygwin1.dll get's its base
address, and the 5 .dll's get 5 other random address's.

How is it better? With a .dll that conflicts with cygwin1.dll, it's boom
(everytime) :].

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