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