• Home
  • Raw
  • Download

Lines Matching refs:soinfo

84 static LinkerTypeAllocator<soinfo> g_soinfo_allocator;
85 static LinkerTypeAllocator<LinkedListEntry<soinfo>> g_soinfo_links_allocator;
191 static bool is_greylisted(android_namespace_t* ns, const char* name, const soinfo* needed_by) { in is_greylisted()
239 static void notify_gdb_of_load(soinfo* info) { in notify_gdb_of_load()
258 static void notify_gdb_of_unload(soinfo* info) { in notify_gdb_of_unload()
262 LinkedListEntry<soinfo>* SoinfoListAllocator::alloc() { in alloc()
266 void SoinfoListAllocator::free(LinkedListEntry<soinfo>* entry) { in free()
278 soinfo* soinfo_alloc(android_namespace_t* ns, const char* name, in soinfo_alloc()
287 soinfo* si = new (g_soinfo_allocator.alloc()) soinfo(ns, name, file_stat, in soinfo_alloc()
299 static void soinfo_free(soinfo* si) { in soinfo_free()
323 si->~soinfo(); in soinfo_free()
388 if (soinfo* si = find_containing_library(reinterpret_cast<void*>(pc))) { in do_dl_unwind_find_exidx()
402 for (soinfo* si = solist_get_head(); si != nullptr; si = si->next) { in do_dl_iterate_phdr()
502 soinfo* needed_by, in create()
504 std::unordered_map<const soinfo*, ElfReader>* readers_map) { in create() argument
513 soinfo* get_needed_by() const { in get_needed_by()
517 soinfo* get_soinfo() const { in get_soinfo()
521 void set_soinfo(soinfo* si) { in set_soinfo()
576 std::unordered_map<const soinfo*, ElfReader>* get_readers_map() { in get_readers_map()
603 soinfo* needed_by, in LoadTask()
605 std::unordered_map<const soinfo*, ElfReader>* readers_map) in LoadTask() argument
617 soinfo* needed_by_;
618 soinfo* si_;
623 std::unordered_map<const soinfo*, ElfReader>* elf_readers_map_;
637 typedef linked_list_t<soinfo> SoinfoLinkedList;
657 static bool walk_dependencies_tree(soinfo* root_soinfo, F action) { in walk_dependencies_tree()
663 soinfo* si; in walk_dependencies_tree()
678 si->get_children().for_each([&](soinfo* child) { in walk_dependencies_tree()
689 soinfo* root, in ElfW()
690 soinfo* skip_until, in ElfW()
691 soinfo** found, in ElfW()
697 walk_dependencies_tree(root, [&](soinfo* current_soinfo) { in ElfW()
727 soinfo** found, in ElfW()
728 soinfo* caller, in ElfW()
747 soinfo* si = *it; in ElfW()
764 soinfo* local_group_root = caller->get_local_group_root(); in ElfW()
784 static const ElfW(Sym)* dlsym_handle_lookup(soinfo* si, in ElfW()
785 soinfo** found, in ElfW()
807 soinfo* find_containing_library(const void* p) { in find_containing_library()
811 for (soinfo* si = solist_get_head(); si != nullptr; si = si->next) { in find_containing_library()
998 const char* name, soinfo *needed_by, in open_library()
1090 soinfo** candidate) { in find_loaded_library_by_inode()
1096 auto predicate = [&](soinfo* si) { in find_loaded_library_by_inode()
1107 soinfo* si = linked_ns->soinfo_list().find_if(predicate); in find_loaded_library_by_inode()
1120 bool search_linked_namespaces, soinfo** candidate) { in find_loaded_library_by_realpath()
1121 auto predicate = [&](soinfo* si) { return strcmp(realpath, si->get_realpath()) == 0; }; in find_loaded_library_by_realpath()
1128 soinfo* si = linked_ns->soinfo_list().find_if(predicate); in find_loaded_library_by_realpath()
1177 soinfo* si = nullptr; in load_library()
1206 const soinfo* needed_by = task->is_dt_needed() ? task->get_needed_by() : nullptr; in load_library()
1210 const soinfo* needed_or_dlopened_by = task->get_needed_by(); in load_library()
1245 soinfo* si = soinfo_alloc(ns, realpath.c_str(), &file_stat, file_offset, rtld_flags); in load_library()
1298 soinfo* needed_by = task->get_needed_by(); in load_library()
1353 soinfo** candidate) { in find_loaded_library_by_soname()
1354 return !ns->soinfo_list().visit([&](soinfo* si) { in find_loaded_library_by_soname()
1369 soinfo** candidate) { in find_loaded_library_by_soname()
1401 soinfo* candidate; in find_library_in_linked_namespace()
1442 soinfo* candidate; in find_library_internal()
1512 static void soinfo_unload(soinfo* si);
1532 soinfo* start_with, in find_libraries()
1535 soinfo* soinfos[], in find_libraries()
1536 std::vector<soinfo*>* ld_preloads, in find_libraries()
1544 std::unordered_map<const soinfo*, ElfReader> readers_map; in find_libraries()
1560 size_t soinfos_size = sizeof(soinfo*)*library_names_count; in find_libraries()
1561 soinfos = reinterpret_cast<soinfo**>(alloca(soinfos_size)); in find_libraries()
1580 soinfo* needed_by = task->get_needed_by(); in find_libraries()
1602 soinfo* si = task->get_soinfo(); in find_libraries()
1622 soinfo* si = task->get_soinfo(); in find_libraries()
1666 soinfo* si = task->get_soinfo(); in find_libraries()
1688 soinfo* si = task->get_soinfo(); in find_libraries()
1711 std::vector<soinfo*> local_group_roots; in find_libraries()
1720 soinfo* si = task->get_soinfo(); in find_libraries()
1721 soinfo* needed_by = task->get_needed_by(); in find_libraries()
1754 [&] (soinfo* si) { in find_libraries()
1765 soinfo* local_group_root = local_group.front(); in find_libraries()
1767 bool linked = local_group.visit([&](soinfo* si) { in find_libraries()
1805 soinfo* si = task->get_soinfo(); in find_libraries()
1810 soinfo* si = task->get_soinfo(); in find_libraries()
1811 soinfo* needed_by = task->get_needed_by(); in find_libraries()
1823 static soinfo* find_library(android_namespace_t* ns, in find_library()
1826 soinfo* needed_by) { in find_library()
1827 soinfo* si = nullptr; in find_library()
1853 static void soinfo_unload_impl(soinfo* root) { in soinfo_unload_impl()
1871 soinfo* si = nullptr; in soinfo_unload_impl()
1881 soinfo* child = nullptr; in soinfo_unload_impl()
1901 local_unload_list.for_each([](soinfo* si) { in soinfo_unload_impl()
1942 static void soinfo_unload(soinfo* unload_si) { in soinfo_unload()
1950 soinfo* root = is_linked ? unload_si->get_local_group_root() : unload_si; in soinfo_unload()
1982 soinfo* si = find_containing_library(dso_handle); in increment_dso_handle_reference_counter()
2005 soinfo* si = find_containing_library(dso_handle); in decrement_dso_handle_reference_counter()
2026 static android_namespace_t* get_caller_namespace(soinfo* caller) { in get_caller_namespace()
2092 soinfo* const caller = find_containing_library(caller_addr); in do_dlopen()
2171 soinfo* si = nullptr; in do_dlopen()
2184 soinfo* si = find_library(ns, translated_name, flags, extinfo, caller); in do_dlopen()
2205 soinfo* si = find_containing_library(addr); in do_dladdr()
2226 static soinfo* soinfo_from_handle(void* handle) { in soinfo_from_handle()
2236 return static_cast<soinfo*>(handle); in soinfo_from_handle()
2252 soinfo* found = nullptr; in do_dlsym()
2254 soinfo* caller = find_containing_library(caller_addr); in do_dlsym()
2256 soinfo* si = nullptr; in do_dlsym()
2335 soinfo* si = soinfo_from_handle(handle); in do_dlclose()
2416 soinfo* caller_soinfo = find_containing_library(caller_addr); in create_namespace()
2549 const soinfo* target_si) { in add_version_info()
2559 bool VersionTracker::init_verneed(const soinfo* si_from) { in init_verneed()
2580 soinfo* target_si = si_from->get_children().find_if([&](const soinfo* si) { in init_verneed()
2606 static bool for_each_verdef(const soinfo* si, F functor) { in for_each_verdef()
2653 ElfW(Versym) find_verdef_version_index(const soinfo* si, const version_info* vi) { in find_verdef_version_index()
2680 bool validate_verdef_section(const soinfo* si) { in validate_verdef_section()
2687 bool VersionTracker::init_verdef(const soinfo* si_from) { in init_verdef()
2697 bool VersionTracker::init(const soinfo* si_from) { in init()
2709 bool soinfo::lookup_version_info(const VersionTracker& version_tracker, ElfW(Word) sym, in lookup_version_info()
2730 void soinfo::apply_relr_reloc(ElfW(Addr) offset) { in apply_relr_reloc()
2738 bool soinfo::relocate_relr() { in relocate_relr()
2777 bool soinfo::prelink_image() { in prelink_image()
3236 bool soinfo::link_image(const SymbolLookupList& lookup_list, soinfo* local_group_root, in link_image()
3327 bool soinfo::protect_relro() { in protect_relro()
3431 soinfo* somain = solist_get_somain(); in init_default_namespaces()
3519 soinfo* ld_android_so = solist_get_head(); in init_default_namespaces()
3522 soinfo* vdso = solist_get_vdso(); in init_default_namespaces()