This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Problem with ruby and cygssl-0.9.8.dll
- From: Shankar Unni <shankarunni at netscape dot net>
- To: cygwin at cygwin dot com
- Date: Mon, 12 Mar 2007 13:39:12 -0700
- Subject: Re: Problem with ruby and cygssl-0.9.8.dll
- References: <45F4E74D.7020700@cheshirelaw.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/