This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: rebase for setup.



===
----- Original Message -----
From: "Jason Tishler" <jason@tishler.net>
> > Did my rebasing algorithm seem correct to you? If not, lets talk
what it
> > should look like.
>
> Do you mean the following:

Yes.

> On Sat, Dec 08, 2001 at 01:39:52PM +1100, Robert Collins wrote:
> > Actually what I have in mind is
> > * changes to install
> > (pseudo code):
> > if (installing a .dll or .exe)
> >   rebase and store info in /etc/setup
> > * changes to setup
> > if (installing a .dll or .exe)
> >   rebase and store info in /etc/setup
> >
> > rebase:
> > find object size - sz
> >   lookup a gap of sz in the address table in /etc/setup
> > find object dependencies
> >   foreach
> >     if (a cygwin .dll)
> >       rebase this
> >     if (a non-cygwin .dll)
> >       store the base and size info in /etc/setup
>
> If so, then I don't fully grok it -- please try again.  Specifically,
> I don't understand what is install (or how it differs from setup).

install = /bin/install - I'm suggesting that this gets updated as well,
so that make install in python works without needing to run rebase.

> Also, the rebase algorithm seems more complicated than mine (and MS's)
> simplicity one.  So, I must be missing something -- please help me
> understand the issues.

Well as I understand yours it's "rebase EVERYTHING on the system" "x
bytes apart".

Mine is "rebase everything that appears linked" "x bytes apart". The
goal being to avoid rebasing 1000 .dll and .exe's when you run setup and
install fortune.exe :}. That requires persistent storage of the used
address range, thus storing the info in /etc/setup.

loadable modules probably need some thought in this context though.

Rob


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]