Inline two single-use templates.
Change-Id: Ie1b22479128f9a4b8ece08a433ee5943a1d04c11
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 0b829b3..e538a48 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -1102,15 +1102,6 @@
return dt_needed;
}
-template<typename F>
-static void for_each_dt_needed(const ElfReader& elf_reader, F action) {
- for (const ElfW(Dyn)* d = elf_reader.dynamic(); d->d_tag != DT_NULL; ++d) {
- if (d->d_tag == DT_NEEDED) {
- action(fix_dt_needed(elf_reader.get_string(d->d_un.d_val), elf_reader.name()));
- }
- }
-}
-
static bool find_loaded_library_by_inode(android_namespace_t* ns,
const struct stat& file_stat,
off64_t file_offset,
@@ -1307,11 +1298,14 @@
}
#endif
- for_each_dt_needed(task->get_elf_reader(), [&](const char* name) {
- LD_LOG(kLogDlopen, "load_library(ns=%s, task=%s): Adding DT_NEEDED task: %s",
- ns->get_name(), task->get_name(), name);
- load_tasks->push_back(LoadTask::create(name, si, ns, task->get_readers_map()));
- });
+ for (const ElfW(Dyn)* d = elf_reader.dynamic(); d->d_tag != DT_NULL; ++d) {
+ if (d->d_tag == DT_NEEDED) {
+ const char* name = fix_dt_needed(elf_reader.get_string(d->d_un.d_val), elf_reader.name());
+ LD_LOG(kLogDlopen, "load_library(ns=%s, task=%s): Adding DT_NEEDED task: %s",
+ ns->get_name(), task->get_name(), name);
+ load_tasks->push_back(LoadTask::create(name, si, ns, task->get_readers_map()));
+ }
+ }
return true;
}