diff --git a/Userland/Libraries/LibELF/DynamicLinker.cpp b/Userland/Libraries/LibELF/DynamicLinker.cpp index 06eb3425be..cc93fea4ed 100644 --- a/Userland/Libraries/LibELF/DynamicLinker.cpp +++ b/Userland/Libraries/LibELF/DynamicLinker.cpp @@ -301,8 +301,11 @@ static Result, DlErrorMessage> load_main_library(co auto& object = result.value(); if (loader.filename() == "libsystem.so"sv) { - if (syscall(SC_msyscall, object->base_address().as_ptr())) { - VERIFY_NOT_REACHED(); + VERIFY(!loader.text_segments().is_empty()); + for (const auto& segment : loader.text_segments()) { + if (syscall(SC_msyscall, segment.address().get())) { + VERIFY_NOT_REACHED(); + } } }