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:
parent
0d9e5f2daf
commit
11a262c1af
|
@ -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))
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue