diff --git a/repos/libports/src/app/acpica/os.cc b/repos/libports/src/app/acpica/os.cc index b6e977429f..92f9c44fdd 100644 --- a/repos/libports/src/app/acpica/os.cc +++ b/repos/libports/src/app/acpica/os.cc @@ -440,8 +440,5 @@ ACPI_STATUS AcpiOsInstallInterruptHandler(UINT32 irq, ACPI_OSD_HANDLER handler, void Component::construct(Env &env) { - /* XXX execute constructors of global statics */ - env.exec_static_constructors(); - static Acpica::Main main(env); } diff --git a/repos/libports/src/lib/acpica/env.cc b/repos/libports/src/lib/acpica/env.cc index 4ceba40d6a..a56ea2885a 100644 --- a/repos/libports/src/lib/acpica/env.cc +++ b/repos/libports/src/lib/acpica/env.cc @@ -29,7 +29,7 @@ struct Acpica::Env Env(Genode::Env &env, Genode::Allocator &heap) : env(env), heap(heap) { } }; -static Genode::Constructible instance; +static Acpica::Env * instance; Genode::Allocator & Acpica::heap() { return instance->heap; } @@ -38,5 +38,7 @@ Genode::Env & Acpica::env() { return instance->env; } void Acpica::init(Genode::Env &env, Genode::Allocator &heap) { - instance.construct(env, heap); + static Acpica::Env _instance { env, heap }; + + instance = &_instance; }