diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2025-12-29 14:43:20 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2025-12-29 14:43:20 +0100 |
| commit | fb1c180c431e3ac07ca56f53299edea316883842 (patch) | |
| tree | 60344689657d6c9512c697e3ac714709cc3c958c /arch/x86_64/src/boot/initialize_runtime.cpp | |
| parent | c522a3634e0cd20804b1e3216caedd5e15cbee19 (diff) | |
| download | teachos-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.cpp | 11 |
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); }); } } |
