1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 02:37:35 +00:00

Loader: Don't re-load self-dependant libraries

This commit is contained in:
Itamar 2020-12-11 15:45:15 +02:00 committed by Andreas Kling
parent 758fc8c063
commit d2a984f2c7

View file

@ -156,7 +156,9 @@ static Vector<String> get_dependencies(const String& name)
auto lib = g_loaders.get(name).value(); auto lib = g_loaders.get(name).value();
Vector<String> dependencies; Vector<String> 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); dependencies.append(needed_name);
return IterationDecision::Continue; return IterationDecision::Continue;
}); });
@ -255,7 +257,6 @@ static FlatPtr loader_main(auxv_t* auxvp)
} }
ASSERT(main_program_fd >= 0); ASSERT(main_program_fd >= 0);
ASSERT(!main_program_name.is_null()); ASSERT(!main_program_name.is_null());
dbgln("loading: {}", main_program_name);
map_library(main_program_name, main_program_fd); map_library(main_program_name, main_program_fd);
map_dependencies(main_program_name); map_dependencies(main_program_name);