delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/10/26/10:48:13

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
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
Date: Wed, 26 Oct 2005 09:48:04 -0500 (CDT)
From: Satish Balay <balay AT mcs DOT anl DOT gov>
To: cygwin AT cygwin DOT com
Subject: Re: cygwin-setup & rebaseall
In-Reply-To: <435EE2BE.86691C8F@dessent.net>
Message-ID: <Pine.LNX.4.58.0510260938470.17311@harley.mcs.anl.gov>
References: <SERRANO4A2DreBBsQwY0000021e AT SERRANO DOT CAM DOT ARTIMI DOT COM> <Pine DOT LNX DOT 4 DOT 64 DOT 0510251143120 DOT 10534 AT asterix> <435EE2BE DOT 86691C8F AT dessent DOT net>
MIME-Version: 1.0


On Tue, 25 Oct 2005, Brian Dessent wrote:

> Satish Balay wrote:
>
> > - open a dialog box with a message:
> >  "some packages that require 'rebaseall' are updated. This operation
> >  cannot be done at this time due to active cygwin processes. Please
> >  reboot, shutdown cygwin services, and run 'rebaseall' from 'ash'."
>
> The thing is, you can't just do a "partial" rebaseall.  If you update
> just one DLL, you can't just pick a new base address for that one DLL,
> you have to start over and reassign all new base addresses to every
> DLL.  This is because the current algorithm for choosing the base
> addresses just packs them together back to back, so adding/modifying one
> could potentially cause all those below to have to be moved.  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.

Here I was sugesting 'rebaseall' which I gues is not a "partial" rebase

> This is why the whole rebasing method is not scaleable and why we should
> really be aiming to throw away rebase and use --enable-auto-image-base
> for every package.

According to Jason's post, --enable-auto-image-base is been in use for
a while.  [Since python doesn't always work without rebaseall] - is
there some other issue with this approach? [mabye some dependent
package should be built with --enable-auto-image-base - but it isn't?]

> So, the reason I mention all that is that it means that the above dialog
> box would be displayed *any time* that setup was run with *any cygwin
> program or service active*, no matter how small or irrelevent.  We would
> get flooded with complaints about this extra annoying dialog box, and
> "why can't setup replace in use files like it used to", and "I don't
> care about rebasing, all my apps work fine, how can I disable this?"

So if rebase is done - any package with a dll would have to trigger a
rebase? I agree - if every update would trigger this - its not good.

>
> > - open a dialog box with a message: "some packages that require
> >   'rebaseall' are updated - hence setup is incomplete. Please reboot,
> >   shutdown cygwin services and rerun setup - so that it can continue
> >   and fix this."
>
> You wouldn't want to bail partway through a rebase and leave things in a
> partial state.  What setup would have to do is perform the full rebase
> of all DLLs, scheduling any that were in use for replacement with their
> rebased copy on the next reboot, as it already does for upgrading DLLs.
> But as I've been trying to say this requires a great deal of coding in
> setup because you have to internalize all the rebasing logic, it can't
> just punt to the rebaseall script.

Here I was not implying partial rebase. Currently rebaseall doesn't
start doing anything if it sees any running cygwin process... [so the
same thing could be done]

Satish

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