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
