X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Tue, 9 Aug 2011 10:26:52 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: emacs and large-address awareness under recent snapshots Message-ID: <20110809082652.GA9492@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20110807200222 DOT GK11601 AT calimero DOT vinschen DOT de> <4E3F13D8 DOT 7090608 AT cornell DOT edu> <4E3FE323 DOT 9020201 AT cornell DOT edu> <20110808155048 DOT GA28218 AT calimero DOT vinschen DOT de> <4E40093D DOT 10107 AT cornell DOT edu> <20110808162556 DOT GM11601 AT calimero DOT vinschen DOT de> <87sjpbhij7 DOT fsf AT Rainer DOT invalid> <4E404424 DOT 9000600 AT cornell DOT edu> <4E40526C DOT 9080605 AT cornell DOT edu> <4E406C21 DOT 7010007 AT cs DOT umass DOT edu> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4E406C21.7010007@cs.umass.edu> User-Agent: Mutt/1.5.21 (2010-09-15) 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 Aug 8 19:07, Eliot Moss wrote: > On 8/8/2011 5:17 PM, Ken Brown wrote: > > >do > >newsize *= 2; > >while ((__malloc_size_t) BLOCK ((char *) result + size) > newsize); > > > >My guess now is that there was some invalid pointer arithmetic somewhere that led to this, but I > >don't have time at the moment to look for it. I'll do it later (or tomorrow) if no one beats me to it. > > Possibly, Ken. I also wonder about signed vs unsigned calculations > and such. We are looking at the higher end of the address space, > which means negative addresses when considered as signed numbers. > > I'm not sure what the above is doing, but if it is trying to > double its understanding of the heap size, based on using the > current end of the heap (result?) as a measure of size, then > if the heap is at 0x80000000, doubling that gives 0 in a 32-bit > address space ... The question is, how could newsize ever become >= 0x80000000? Ken, what are the values of result and size? And what value has heapsize? Consider that the statement before the loop is newsize = heapsize; Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple