This is the mail archive of the
mailing list for the Cygwin project.
Re: [RFC] an alternative to rebasing
- From: Nicholas Wourms <nwourms at yahoo dot com>
- To: Steven O'Brien <steven dot obrien2 at ntlworld dot com>, cygwin at cygwin dot com
- Date: Fri, 2 Aug 2002 17:38:38 -0700 (PDT)
- Subject: Re: [RFC] an alternative to rebasing
--- Steven O'Brien <firstname.lastname@example.org> wrote:
> I may have found a way of getting cygwin fork() to load dlls
> without the need for rebasing dlls.
> I described my understanding of the problem in a previous post
> (http://www.cygwin.com/ml/cygwin/2002-07/msg01260), but basically
> boils down to the fact that during fork() the child process does
> load dlls in the same order as the parent, and consequently cannot
> always get them to the same address. I would be difficult to record
> reproduce the full sequence of LoadLibrary/FreeLibrary calls, but
> some experimentation I believe that there is an alternative. If the
> child loads dlls in the order that they are in memory in the
> then it appears to get the correct addresses. To test this I
> cygwin1.dll so that a list of loaded dlls, in address order, is
> maintained, and the child walks this list instead of the existing
> of all dlls.
> I have done some simple tests that fail with cygwin1.dll-1.3.12-2,
> succeed with my patched dll. I am also running the gnome desktop
> core apps which depend on run-time loaded dlls to function and that
> OK. I would like package maintainers who would otherwise need
> (Jason?) to try my patch and report results here if they can find
> If this approach proves successful, then rebasing would still
> load time for dlls, but apps using run-time loading of dlls would
> longer depend on rebase to function.
> Attached is the patch and a Changelog entry
If this works, I can't thank you enough. I'll report back on how it
does with our problem child - Apache...
Do You Yahoo!?
Yahoo! Health - Feel better, live better
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html