From d2a984f2c730aca86a3b68991bb08eaf3ab96c42 Mon Sep 17 00:00:00 2001 From: Itamar Date: Fri, 11 Dec 2020 15:45:15 +0200 Subject: [PATCH] Loader: Don't re-load self-dependant libraries --- Userland/DynamicLoader/main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Userland/DynamicLoader/main.cpp b/Userland/DynamicLoader/main.cpp index ce40482591..fefef44f3a 100644 --- a/Userland/DynamicLoader/main.cpp +++ b/Userland/DynamicLoader/main.cpp @@ -156,7 +156,9 @@ static Vector get_dependencies(const String& name) auto lib = g_loaders.get(name).value(); Vector dependencies; - lib->for_each_needed_library([&dependencies](auto needed_name) { + lib->for_each_needed_library([&dependencies, &name](auto needed_name) { + if (name == needed_name) + return IterationDecision::Continue; dependencies.append(needed_name); return IterationDecision::Continue; }); @@ -255,7 +257,6 @@ static FlatPtr loader_main(auxv_t* auxvp) } ASSERT(main_program_fd >= 0); ASSERT(!main_program_name.is_null()); - dbgln("loading: {}", main_program_name); map_library(main_program_name, main_program_fd); map_dependencies(main_program_name);