delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/03/12/15:39:48

X-Spam-Check-By: sourceware.org
To: cygwin AT cygwin DOT com
From: Shankar Unni <shankarunni AT netscape DOT net>
Subject: Re: Problem with ruby and cygssl-0.9.8.dll
Date: Mon, 12 Mar 2007 13:39:12 -0700
Lines: 32
Message-ID: <et4dph$g89$1@sea.gmane.org>
References: <45F4E74D DOT 7020700 AT cheshirelaw DOT com>
Mime-Version: 1.0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070116 Thunderbird/2.0b2 Mnenhy/0.7.5.666
In-Reply-To: <45F4E74D.7020700@cheshirelaw.com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/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

Geoffrey T. Cheshire wrote:
> The issue is well stated here:
> http://cygwin.com/ml/cygwin/2005-10/msg00873.html

Though some of the points made there aren't necessarily as stated.

Brian - you said:

   You can get around this by setting up some kind of registry
   of assigned base addresses, or treating the problem like a heap,
   but that get extraordinarily more complex because you have to
   maintain state.

The registry of assigned base addresses isn't that difficult of a 
problem - SGI had such a rebasing mechanism (with a permanent 
text-format base address database) even back in 1994.

Every time rebaseall (or its equivalent on Irix - forgotten what it was 
called) was run, it would start with the DB contents, validate them 
(quick), and mark any DLLs that were not in the DB, or were invalid 
(didn't match the DB base and size).

So it only had to do a relatively small number of DLLs on subsequent 
passes, and so the system installer would run a default "rebaseall" 
after installing or removing *any* package. (When removing a package, 
the corresponding entries were removed from the DB to make room for 
other DLLs).

The only problem with this was that over the long term, it would end up 
fragmenting the address space somewhat (the old malloc problem), so 
there was a force option to rebase everything ignoring the DB (which was 
also the cleanup option if something got badly corrupted).


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.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