X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Date: Tue, 9 Aug 2011 10:26:52 +0200
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: emacs and large-address awareness under recent snapshots
Message-ID: <20110809082652.GA9492@calimero.vinschen.de>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <20110807200222.GK11601@calimero.vinschen.de> <4E3F13D8.7090608@cornell.edu> <4E3FE323.9020201@cornell.edu> <20110808155048.GA28218@calimero.vinschen.de> <4E40093D.10107@cornell.edu> <20110808162556.GM11601@calimero.vinschen.de> <87sjpbhij7.fsf@Rainer.invalid> <4E404424.9000600@cornell.edu> <4E40526C.9080605@cornell.edu> <4E406C21.7010007@cs.umass.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@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.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

