Allocate first heap requests from bss

The exception initialization and handling in gcc_eh allocates early (_main)
memory before executing main. In Vancouver the virtual
region from [0,VM size) must be reserved. Vancouver fails if the memory
allocated by the exception handling and the static objects was allocated
inside the [0, VM size) area.

To circumvent the situation allocate the first memory pieces for the heap
from the bss.
This commit is contained in:
Alexander Boettcher 2012-09-04 12:18:06 +02:00 committed by Norman Feske
parent 0d9e5f2daf
commit 11a262c1af
1 changed files with 4 additions and 1 deletions

View File

@ -129,6 +129,8 @@ namespace Genode {
Resources _resources;
Heap _heap;
char _initial_junk[4 * 4096];
public:
/**
@ -138,7 +140,8 @@ namespace Genode {
:
_parent_client(Genode::parent_cap()),
_resources(_parent_client),
_heap(&_resources.ram, &_resources.rm)
_heap(&_resources.ram, &_resources.rm, Heap::UNLIMITED,
_initial_junk, sizeof(_initial_junk))
{ }
/**