Kevin,

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
> assume).

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.

See above.

> (Though I thought rebasing was not necessarily required, since windows
> normally relocates DLLs in memory when a collision occurs.)

See below.

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

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.

Jason

Reply via email to