X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-2.4 required=5.0	tests=AWL,BAYES_00,RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Message-ID: <4E406C21.7010007@cs.umass.edu>
Date: Mon, 08 Aug 2011 19:07:13 -0400
From: Eliot Moss <moss@cs.umass.edu>
Reply-To: moss@cs.umass.edu
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: emacs and large-address awareness under recent snapshots
References: <4E3C79E0.3030506@cornell.edu>	<20110807113354.GG11601@calimero.vinschen.de>	<20110807115056.GI11601@calimero.vinschen.de>	<4E3EA497.7040402@cornell.edu> <4E3EBAEF.1030004@cornell.edu>	<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>
In-Reply-To: <4E40526C.9080605@cornell.edu>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.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 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 ...

Best wishes -- Eliot Moss

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

