Subject: bug#9273: 23.3; malloc initialization should (sometimes) happen at runtime

From: Eli Zaretskii <[email-masked]>
Date: Wed, 10 Aug 2011 21:10:36 +0300

> Date: Wed, 10 Aug 2011 13:52:39 -0400
> From: Ken Brown <[email-masked]>
> CC: "[email-masked]" <[email-masked]>
> 
> On 8/10/2011 11:56 AM, Eli Zaretskii wrote:
> >> Date: Tue, 09 Aug 2011 16:09:48 -0400
> >> From: Ken Brown<[email-masked]>
> >
> >> But when the dumped emacs is run, it uses Cygwin's sbrk, which
> >> allocates memory on a heap that won't (as of Cygwin 1.7.10) be
> >> contiguous with the static heap.  The saved value of _heapbase,
> >> which points into the static heap, is never changed, but it will
> >> mess up later calculations as soon as sbrk is called for the first
> >> time.
> >
> > Are you sure this is all that's at work here?  AFAIR, gmalloc does
> > have code to cope with non-contiguous memory regions returned by sbrk.
> 
> The issue isn't that sbrk returns non-contiguous regions.  The issue is 
> that two different of sbrk are used.  One is used when temacs is 
> running, and a different one is used when the dumped emacs.exe is 
> running.

I still don't see the problem: the memory sbrk'ed before dumping is
frozen in the dumped Emacs, so I don't see how that could matter.
Perhaps I'm missing something.