This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/32199] jc1: out of memory allocating 4072 bytes after a total of 805021000 bytes
- From: "danglin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Jul 2007 18:50:24 -0000
- Subject: [Bug tree-optimization/32199] jc1: out of memory allocating 4072 bytes after a total of 805021000 bytes
- References: <bug-32199-276@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from danglin at gcc dot gnu dot org 2007-07-12 18:50 -------
I tried increasing the kernel maxdsiz limits to 2 GB. However, we
still die after allocating roughly the same number of bytes.
In 32-bit PA runtime, malloc allocates memory using brk and sbrk
from the data segment. The size of the data segment is 1 GB.
I believe we have reached the 1 GB limit for at least two compilations
in libjava.
The ulimit command (bash, ksh and sh) doesn't correctly indicate
the 1 GB limit of the data segment. I suspect getrlimit also doesn't
reflect the runtime limit. Possibly, reducing maxdsiz might trigger
more garbage collection.
At last check, libjava still builds on the trunk. So, 4.2.1 is using
more memory. Libjava builds under linux. The linux runtime uses a
flat memory model and thus has more space available for data.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32199