Port-m68k archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: GCC 4.8 out of memory



Robert Elz wrote:

> Most likely malloc() is using mmap(MAP_ANON) for its arena, and that's
> using space from the architectural VM limits that is outside what is
> permitted for the size of  the program and its stack (MAXDSIZ) - as
> MAXDSIZ gets bigger, the remaining space before the architectural limit
> is reached gets smaller.

Ok. That makes sense. According to pmap(1) the heap is indeed allocated as
"[ anon ]".

So there's an architectural limit, which is 0x20000000 (512MB) for m68k, as
far as I understand. And MAXDSIZ does only define the maximum size of the
data segment. It does not include the heap, which resides between the data
segment an the stack?

When we have MAXTSIZ=32MB and MAXDSIZ=416MB for Amiga, then it means that
the address space from 0x0 to 0x1c000000 is reserved for the text and data
segments of a process. The stack (USRSTACK) starts at 0x1e000000 and has a
maximum size of MAXSSIZ=32MB. So it extends down to 0x1c000000?

This would mean there is not a single byte left for heap (MAP_ANON)
allocations. Or am I missing something again?

-- 
Frank Wille



Home | Main Index | Thread Index | Old Index