X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RCVD_NUMERIC_HELO,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Lenik Subject: Re: Question of the necessity of rebaseall Date: Thu, 14 May 2009 09:05:34 +0800 Lines: 19 Message-ID: References: <4A0B6BE4 DOT 1020905 AT cygwin DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b3pre) Gecko/20090223 Thunderbird/3.0b2 In-Reply-To: <4A0B6BE4.1020905@cygwin.com> X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 2009-5-14 8:55, Larry Hall (Cygwin) wrote: > Lenik wrote: >> Imagebase in PE header is something a bit of optional, that means if >> two dlls with same imagebase, the OS kernel will automaticly relocate >> one of them, to put them in different virtual spaces. So, rebase >> should be a utility for optimizing the overall start-up speed, to >> reduce avoidable relocations, rather then fix start-up errors. >> >> Any idea? > > cygwin1.dll cannot be relocated if the fork semantics are to work. So > while what you say above is true for apps in general, it's not true for > Cygwin apps. > I can't figure out how fork will break the relocation, for libraries have been loaded, they're already relocated before invoke into fork, and for libraries haven't been loaded, they don't need to share memory after new processes created by fork. -- 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/