This is the mail archive of the
mailing list for the Cygwin project.
Re: rebase problem for cygcurl-2.dll still existing?!
On Tue, Jul 16, 2002 at 12:18:36PM -0400, Roth, Kevin P. wrote:
> On one hand, I have CGF asking for stripping of all EXE/DLLs, to save
> on disk space, and also download speed for our dial-up friends (I
I stated that my preference was not to strip so that rebasing will work.
If you strip, then my latest rebase will just skip cygcurl-2.dll but it
will *not* corrupt it.
> On the other hand I have Stipe noticing that his PHP package (if
> memory serves) can't successfully rebase my cygcurl-2 dll, and
> therefore doesn't work.
> (Though I thought rebasing was not necessarily required, since windows
> normally relocates DLLs in memory when a collision occurs.)
> I'll be happy to repackage without stripping the DLL, if that's OK
> with CGF-and-friends. Or if someone suggests another workable approach
> I'll gladly oblige... If I hear nothing by tomorrow, I'll go ahead and
> submit a non-stripped package until such time as this issue is
I will defer to Chris and/or the consensus regarding this issue.
> (BTW: for any given version of cygcurl-2.dll, does rebasing need to
> happen just once per target machine [e.g. when cygcurl-2.dll is
> installed], or also every time something that depends on it [such as
> PHP's curl wrapper] gets installed?)
Actually every time a new DLL is installed on a system, it should be
rebased so as not to collide with the other DLLs. This is why I need to
integrate my stand-alone rebase into Cygwin's setup.exe.
> (BTW2: can anyone explain in layman's terms why it is that in-memory
> relocation upon collision doesn't happen in this case?
It does. This is not the issue, Cygwin's fork() implementation is.
> Is that a deficiency of cygwin as a whole, or just related to the way
> my DLL was built?)
Cygwin's fork() attempts to load DLLs in the child in the same location
as in the parent. If it fails, then the child aborts.