base: remove Env arg from init_exception_handling

By supplying only the parts of the Env that are actually relevant for
initializing the cxx heap, we avoid the need for the 'Env' interface.
The patch also moves the call of 'init_ldso_phdr' to the outside
of the cxx library because it does not belong there.

Issue #4784
This commit is contained in:
Norman Feske
2023-06-21 14:18:01 +02:00
parent 59ce64b638
commit 54cc70f9b1
6 changed files with 34 additions and 38 deletions

View File

@ -89,14 +89,20 @@ namespace Genode {
/*
* This function is normally provided by the cxx library, which is not
* used for lx_hybrid programs. For lx_hybrid programs, the exception
* handling is initialized by the host system's regular startup code.
*
* However, we conveniently use this function to get hold of the
* component's environment and initialize the default log output.
* For lx_hybrid programs, C++ support is initialized by the startup code
* provided by the host toolchain.
*/
void Genode::init_exception_handling(Env &env)
void Genode::init_exception_handling(Ram_allocator &, Region_map &) { }
/*
* This function is normally provided by the dynamic linker, which is not used
* for lx_hybrid programs. For lx_hybrid programs.
*
* However, we conveniently use this function to get hold of the component's
* environment and initialize the default log output.
*/
void Genode::init_ldso_phdr(Env &env)
{
_env_ptr = &env;