Searched refs:soinfo (Results 1 - 15 of 15) sorted by relevance
/bionic/linker/ |
H A D | linker_cfi.h | 65 bool AddLibrary(soinfo* si); 73 bool MaybeInit(soinfo *new_si, soinfo *solist); 80 bool NotifyLibDl(soinfo *solist, uintptr_t p); 93 bool AfterLoad(soinfo* si, soinfo *solist); 96 void BeforeUnload(soinfo* si); 99 bool InitialLinkDone(soinfo *solist);
|
H A D | linker_main.h | 48 soinfo* soinfo_alloc(android_namespace_t* ns, const char* name, 53 soinfo* start_with, 56 soinfo* soinfos[], 57 std::vector<soinfo*>* ld_preloads, 64 void solist_add_soinfo(soinfo* si); 65 bool solist_remove_soinfo(soinfo* si); 66 soinfo* solist_get_head(); 67 soinfo* solist_get_somain();
|
H A D | linker_common_types.h | 44 struct soinfo; 48 static LinkedListEntry<soinfo>* alloc(); 49 static void free(LinkedListEntry<soinfo>* entry); 66 typedef LinkedList<soinfo, SoinfoListAllocator> soinfo_list_t;
|
H A D | linker_namespaces.cpp | 60 bool android_namespace_t::is_accessible(soinfo* s) { 61 auto is_accessible_ftor = [this] (soinfo* si) { 62 // This is workaround for apps hacking into soinfo list. 65 DL_WARN("invalid soinfo version for \"%s\"", si->get_soname()); 85 return !s->get_parents().visit([&](soinfo* si) {
|
H A D | linker_soinfo.cpp | 43 bool find_verdef_version_index(const soinfo* si, const version_info* vi, ElfW(Versym)* versym); 47 soinfo::soinfo(android_namespace_t* ns, const char* realpath, function in class:soinfo 69 soinfo::~soinfo() { 73 void soinfo::set_dt_runpath(const char* path) { 92 const ElfW(Versym)* soinfo::get_versym(size_t n) const { 100 ElfW(Addr) soinfo::get_verneed_ptr() const { 108 size_t soinfo::get_verneed_cnt() const { 116 ElfW(Addr) soinfo [all...] |
H A D | linker_globals.cpp | 39 std::unordered_map<uintptr_t, soinfo*> g_soinfo_handles_map;
|
H A D | linker.h | 76 bool init(const soinfo* si_from); 80 bool init_verneed(const soinfo* si_from); 81 bool init_verdef(const soinfo* si_from); 83 const char* ver_name, const soinfo* target_si); 90 bool soinfo_do_lookup(soinfo* si_from, const char* name, const version_info* vi, 91 soinfo** si_found_in, const soinfo_list_t& global_group, 104 soinfo* get_libdl_info(const char* linker_path); 106 soinfo* find_containing_library(const void* p);
|
H A D | linker_cfi.cpp | 133 static soinfo* find_libdl(soinfo* solist) { 134 for (soinfo* si = solist; si != nullptr; si = si->next) { 143 static uintptr_t soinfo_find_symbol(soinfo* si, const char* s) { 152 uintptr_t soinfo_find_cfi_check(soinfo* si) { 163 bool CFIShadowWriter::AddLibrary(soinfo* si) { 196 bool CFIShadowWriter::NotifyLibDl(soinfo* solist, uintptr_t p) { 197 soinfo* libdl = find_libdl(solist); 212 bool CFIShadowWriter::MaybeInit(soinfo* new_si, soinfo* solis [all...] |
H A D | linker_globals.h | 67 struct soinfo; 72 extern std::unordered_map<uintptr_t, soinfo*> g_soinfo_handles_map;
|
H A D | linker.cpp | 77 static LinkerTypeAllocator<soinfo> g_soinfo_allocator; 78 static LinkerTypeAllocator<LinkedListEntry<soinfo>> g_soinfo_links_allocator; 169 static bool is_greylisted(android_namespace_t* ns, const char* name, const soinfo* needed_by) { 240 static void notify_gdb_of_load(soinfo* info) { 259 static void notify_gdb_of_unload(soinfo* info) { 263 LinkedListEntry<soinfo>* SoinfoListAllocator::alloc() { 267 void SoinfoListAllocator::free(LinkedListEntry<soinfo>* entry) { 279 soinfo* soinfo_alloc(android_namespace_t* ns, const char* name, 287 TRACE("name %s: allocating soinfo for ns=%p", name, ns); 289 soinfo* s 558 create(const char* name, soinfo* needed_by, std::unordered_map<const soinfo*, ElfReader>* readers_map) argument 650 LoadTask(const char* name, soinfo* needed_by, std::unordered_map<const soinfo*, ElfReader>* readers_map) argument [all...] |
H A D | linker_soinfo.h | 44 #define FLAG_NEW_SOINFO 0x40000000 // new soinfo format 79 const soinfo* target_si; 82 // TODO(dimitry): remove reference from soinfo member functions to this class. 89 struct soinfo { struct 114 soinfo* next; 190 soinfo(android_namespace_t* ns, const char* name, const struct stat* file_stat, 192 ~soinfo(); 202 void add_child(soinfo* child); 249 soinfo* get_local_group_root() const; 316 soinfo* local_group_root [all...] |
H A D | linker_namespaces.h | 112 void add_soinfo(soinfo* si) { 122 void remove_soinfo(soinfo* si) { 123 soinfo_list_.remove_if([&](soinfo* candidate) { 134 // Returns true if si is accessible from this namespace. A soinfo 137 bool is_accessible(soinfo* si);
|
H A D | linker_mips.cpp | 42 template bool soinfo::relocate<plain_reloc_iterator>(const VersionTracker& version_tracker, 47 template bool soinfo::relocate<packed_reloc_iterator<sleb128_decoder>>( 54 bool soinfo::relocate(const VersionTracker& version_tracker, 78 soinfo* lsi = nullptr; 135 bool soinfo::mips_relocate_got(const VersionTracker& version_tracker, 165 soinfo* lsi = nullptr; 242 bool soinfo::mips_check_and_adjust_fp_modes() { 246 // Find soinfo's optional .MIPS.abiflags segment
|
H A D | linker_main.cpp | 62 static soinfo* solist; 63 static soinfo* sonext; 64 static soinfo* somain; // main process, always the one after libdl_info 66 void solist_add_soinfo(soinfo* si) { 71 bool solist_remove_soinfo(soinfo* si) { 72 soinfo *prev = nullptr, *trav; 96 soinfo* solist_get_head() { 100 soinfo* solist_get_somain() { 109 static std::vector<soinfo*> g_ld_preloads; 145 soinfo* s [all...] |
H A D | dlfcn.cpp | 321 static uint8_t __libdl_info_buf[sizeof(soinfo)] __attribute__((aligned(8))); 322 static soinfo* __libdl_info = nullptr; 325 soinfo* get_libdl_info(const char* linker_path) { 327 __libdl_info = new (__libdl_info_buf) soinfo(&g_default_namespace, linker_path, nullptr, 0, 0);
|
Completed in 72 milliseconds