aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/boot/initialize_runtime.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2025-12-29 14:43:20 +0100
committerFelix Morgner <felix.morgner@ost.ch>2025-12-29 14:43:20 +0100
commitfb1c180c431e3ac07ca56f53299edea316883842 (patch)
tree60344689657d6c9512c697e3ac714709cc3c958c /arch/x86_64/src/boot/initialize_runtime.cpp
parentc522a3634e0cd20804b1e3216caedd5e15cbee19 (diff)
downloadteachos-fb1c180c431e3ac07ca56f53299edea316883842.tar.xz
teachos-fb1c180c431e3ac07ca56f53299edea316883842.zip
x86_64/boot: fix section assignments in ld script
Diffstat (limited to 'arch/x86_64/src/boot/initialize_runtime.cpp')
-rw-r--r--arch/x86_64/src/boot/initialize_runtime.cpp11
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/x86_64/src/boot/initialize_runtime.cpp b/arch/x86_64/src/boot/initialize_runtime.cpp
index 46dd5e4..f413448 100644
--- a/arch/x86_64/src/boot/initialize_runtime.cpp
+++ b/arch/x86_64/src/boot/initialize_runtime.cpp
@@ -6,21 +6,12 @@ extern "C"
{
using global_initializer = auto (*)() -> void;
- extern global_initializer __ctors_start;
- extern global_initializer __ctors_end;
extern global_initializer __init_array_start;
extern global_initializer __init_array_end;
auto invoke_global_constructors() -> void
{
- auto constructors = std::span{&__ctors_start, &__ctors_end};
auto initializers = std::span{&__init_array_start, &__init_array_end};
-
- auto apply_invoke = [](auto invokable) -> void {
- std::invoke(invokable);
- };
-
- std::ranges::for_each(constructors, apply_invoke);
- std::ranges::for_each(initializers, apply_invoke);
+ std::ranges::for_each(initializers, [](auto invokable) { std::invoke(invokable); });
}
}