Subject: Re: Emergency (alloc): Warning: past 85% of memory limit

From: Chong Yidong <[email-masked]>
Date: Fri, 22 May 2009 00:39:27 -0400

The problem is that Emacs is not determining the start of the data
segment properly on MIPS machines.  In src/m/mips.h, we define
DATA_START as 0x10000000.  There must be a reason for this, but it's
wrong on the machine you provided for testing; there, __morecore reports
the memory break (which must lie inside the data segment) as a value
less than 0x10000000.

If I comment out DATA_START, so that Emacs uses another method to
determine the start of the data segment size, everything seems to work
OK.  But I don't know if this may lead to a different bug elsewhere.

*** trunk/src/m/mips.h.~1.42.~	2009-03-12 09:42:54.000000000 -0400
--- trunk/src/m/mips.h	2009-05-22 00:34:03.000000000 -0400
***************
*** 49,55 ****
  /* Describe layout of the address space in an executing process.  */
  
  #define TEXT_START      0x00400000
! #define DATA_START      0x10000000
  
  
  #if 0 /* These definitions were advantageous when not using
--- 49,55 ----
  /* Describe layout of the address space in an executing process.  */
  
  #define TEXT_START      0x00400000
! /* #define DATA_START      0x10000000 */
  
  
  #if 0 /* These definitions were advantageous when not using