/bionic/linker/ |
D | linker_cfi.cpp | 135 for (soinfo* si = solist; si != nullptr; si = si->next) { in find_libdl() local 136 const char* soname = si->get_soname(); in find_libdl() 138 return si; in find_libdl() 144 static uintptr_t soinfo_find_symbol(soinfo* si, const char* s) { in soinfo_find_symbol() argument 146 if (const ElfW(Sym)* sym = si->find_symbol_by_name(name, nullptr)) { in soinfo_find_symbol() 147 return si->resolve_symbol_address(sym); in soinfo_find_symbol() 152 uintptr_t soinfo_find_cfi_check(soinfo* si) { in soinfo_find_cfi_check() argument 153 return soinfo_find_symbol(si, "__cfi_check"); in soinfo_find_cfi_check() 163 bool CFIShadowWriter::AddLibrary(soinfo* si) { in AddLibrary() argument 165 if (si->base == 0 || si->size == 0) { in AddLibrary() [all …]
|
D | linker_main.cpp | 67 static void set_bss_vma_name(soinfo* si); 80 void solist_add_soinfo(soinfo* si) { in solist_add_soinfo() argument 81 sonext->next = si; in solist_add_soinfo() 82 sonext = si; in solist_add_soinfo() 85 bool solist_remove_soinfo(soinfo* si) { in solist_remove_soinfo() argument 88 if (trav == si) { in solist_remove_soinfo() 96 PRINT("name \"%s\"@%p is not in solist!", si->get_realpath(), si); in solist_remove_soinfo() 103 prev->next = si->next; in solist_remove_soinfo() 104 if (si == sonext) { in solist_remove_soinfo() 163 soinfo* si = soinfo_alloc(&g_default_namespace, "[vdso]", nullptr, 0, 0); in add_vdso() local [all …]
|
D | linker.cpp | 287 soinfo* si = new (g_soinfo_allocator.alloc()) soinfo(ns, name, file_stat, in soinfo_alloc() local 290 solist_add_soinfo(si); in soinfo_alloc() 292 si->generate_handle(); in soinfo_alloc() 293 ns->add_soinfo(si); in soinfo_alloc() 295 TRACE("name %s: allocated soinfo @ %p", name, si); in soinfo_alloc() 296 return si; in soinfo_alloc() 299 static void soinfo_free(soinfo* si) { in soinfo_free() argument 300 if (si == nullptr) { in soinfo_free() 304 if (si->base != 0 && si->size != 0) { in soinfo_free() 305 if (!si->is_mapped_by_caller()) { in soinfo_free() [all …]
|
D | linker_namespaces.cpp | 74 auto is_accessible_ftor = [this] (soinfo* si, bool allow_secondary) { in is_accessible() argument 77 if (!si->has_min_version(3)) { in is_accessible() 79 si->get_soname()); in is_accessible() 83 if (si->get_primary_namespace() == this) { in is_accessible() 103 const android_namespace_list_t& secondary_namespaces = si->get_secondary_namespaces(); in is_accessible() 116 return !s->get_parents().visit([&](soinfo* si) { in is_accessible() argument 117 return !is_accessible_ftor(si, false); in is_accessible() 130 soinfo_list().for_each([&](soinfo* si) { in get_global_group() argument 131 if ((si->get_dt_flags_1() & DF_1_GLOBAL) != 0) { in get_global_group() 132 global_group.push_back(si); in get_global_group() [all …]
|
D | linker_tls.cpp | 58 static void register_tls_module(soinfo* si, size_t static_offset) { in register_tls_module() argument 68 soinfo_tls* si_tls = si->get_tls(); in register_tls_module() 81 .soinfo_ptr = si, in register_tls_module() 85 static void unregister_tls_module(soinfo* si) { in unregister_tls_module() argument 89 soinfo_tls* si_tls = si->get_tls(); in unregister_tls_module() 92 CHECK(mod.soinfo_ptr == si); in unregister_tls_module() 133 void register_soinfo_tls(soinfo* si) { in register_soinfo_tls() argument 134 soinfo_tls* si_tls = si->get_tls(); in register_soinfo_tls() 143 register_tls_module(si, static_offset); in register_soinfo_tls() 146 void unregister_soinfo_tls(soinfo* si) { in unregister_soinfo_tls() argument [all …]
|
D | linker_relocate.cpp | 65 soinfo* si = nullptr; member in Relocator 87 si->get_realpath(), si_strtab_size, index); in get_string() 103 if (!relocator.si->lookup_version_info(relocator.version_tracker, r_sym, sym_name, &vi)) { in lookup_symbol() 119 …DL_ERR("cannot locate symbol \"%s\" referenced by \"%s\"...", sym_name, relocator.si->get_realpath… in lookup_symbol() 163 void* const rel_target = reinterpret_cast<void*>(reloc.r_offset + relocator.si->load_bias); in process_relocation_impl() 184 const bool handle_text_relocs = IsGeneral && relocator.si->has_text_relocations; in process_relocation_impl() 187 if (phdr_table_protect_segments(relocator.si->phdr, relocator.si->phnum, in process_relocation_impl() 188 relocator.si->load_bias) < 0) { in process_relocation_impl() 190 relocator.si->get_realpath(), strerror(errno)); in process_relocation_impl() 197 if (phdr_table_unprotect_segments(relocator.si->phdr, relocator.si->phnum, in process_relocation_impl() [all …]
|
D | linker_namespaces.h | 141 void add_soinfo(soinfo* si) { in add_soinfo() 142 soinfo_list_.push_back(si); in add_soinfo() 146 for (auto si : soinfos) { in add_soinfos() local 147 add_soinfo(si); in add_soinfos() 151 void remove_soinfo(soinfo* si) { in remove_soinfo() 153 return si == candidate; in remove_soinfo() 166 bool is_accessible(soinfo* si);
|
D | linker_relocate.h | 60 inline bool is_symbol_global_and_defined(const soinfo* si, const ElfW(Sym)* s) { in is_symbol_global_and_defined() argument 66 ELF_ST_BIND(s->st_info), si->get_string(s->st_name), si->get_realpath()); in is_symbol_global_and_defined()
|
D | linker_cfi.h | 64 bool AddLibrary(soinfo* si); 92 bool AfterLoad(soinfo* si, soinfo *solist); 95 void BeforeUnload(soinfo* si);
|
D | linker_tls.h | 41 void register_soinfo_tls(soinfo* si); 42 void unregister_soinfo_tls(soinfo* si);
|
D | linker_main.h | 68 void solist_add_soinfo(soinfo* si); 69 bool solist_remove_soinfo(soinfo* si);
|
D | linker_soinfo.h | 105 explicit SymbolLookupList(soinfo* si); 444 void for_each_dt_needed(const soinfo* si, F action) { in for_each_dt_needed() argument 445 for (const ElfW(Dyn)* d = si->dynamic; d->d_tag != DT_NULL; ++d) { in for_each_dt_needed() 447 action(fix_dt_needed(si->get_string(d->d_un.d_val), si->get_realpath())); in for_each_dt_needed()
|
D | linker_soinfo.cpp | 53 SymbolLookupList::SymbolLookupList(soinfo* si) in SymbolLookupList() argument 54 : sole_lib_(si->get_lookup_lib()), begin_(&sole_lib_), end_(&sole_lib_ + 1) { in SymbolLookupList() 55 CHECK(si != nullptr); in SymbolLookupList() 67 global_group.for_each([this](soinfo* si) { in SymbolLookupList() argument 68 libs_.push_back(si->get_lookup_lib()); in SymbolLookupList() 72 local_group.for_each([this](soinfo* si) { in SymbolLookupList() argument 73 libs_.push_back(si->get_lookup_lib()); in SymbolLookupList() 541 get_children().for_each([] (soinfo* si) { in call_constructors() argument 542 si->call_constructors(); in call_constructors()
|
D | linker.h | 182 ElfW(Versym) find_verdef_version_index(const soinfo* si, const version_info* vi); 183 bool validate_verdef_section(const soinfo* si);
|
D | linked_list.h | 156 visit([&] (T* si) { in for_each() 157 action(si); in for_each()
|
/bionic/libc/bionic/ |
D | sysinfo.cpp | 81 struct sysinfo si; in get_phys_pages() local 82 sysinfo(&si); in get_phys_pages() 83 return (static_cast<int64_t>(si.totalram) * si.mem_unit) / PAGE_SIZE; in get_phys_pages() 87 struct sysinfo si; in get_avphys_pages() local 88 sysinfo(&si); in get_avphys_pages() 89 return ((static_cast<int64_t>(si.freeram) + si.bufferram) * si.mem_unit) / PAGE_SIZE; in get_avphys_pages()
|
D | getloadavg.cpp | 37 struct sysinfo si; in getloadavg() local 38 if (sysinfo(&si) == -1) return -1; in getloadavg() 41 averages[i] = static_cast<double>(si.loads[i]) / static_cast<double>(1 << SI_LOAD_SHIFT); in getloadavg()
|
D | posix_timers.cpp | 81 siginfo_t si = {}; in __timer_thread_start() local 82 if (__rt_sigtimedwait(&sigset, &si, nullptr, sizeof(sigset)) == -1) continue; in __timer_thread_start() 84 if (si.si_code == SI_TIMER) { in __timer_thread_start() 92 } else if (si.si_code == SI_TKILL) { in __timer_thread_start()
|
/bionic/libm/upstream-freebsd/lib/msun/src/ |
D | s_nan.c | 55 int si; /* index into s */ local 65 for (si = 0; isxdigit(s[si]); si++) 74 if (--si < 0) 76 words[bitpos / 32] |= digittoint(s[si]) << (bitpos % 32);
|
/bionic/tests/ |
D | sys_sysinfo_test.cpp | 42 struct sysinfo si; in TEST() local 43 memset(&si, 0, sizeof(si)); in TEST() 44 ASSERT_EQ(0, sysinfo(&si)); in TEST()
|
/bionic/libc/upstream-openbsd/lib/libc/gdtoa/ |
D | dmisc.c | 124 ULong si, z, zs; local 156 si = *sx++; 157 ys = (si & 0xffff) * q + carry; 158 zs = (si >> 16) * q + (ys >> 16); 197 si = *sx++; 198 ys = (si & 0xffff) + carry; 199 zs = (si >> 16) + (ys >> 16);
|
/bionic/libc/upstream-netbsd/lib/libc/gen/ |
D | psignal.c | 82 psiginfo(const siginfo_t *si, const char *s) in psiginfo() argument 84 psignal(si->si_signo, s); in psiginfo()
|
/bionic/libc/kernel/uapi/linux/ |
D | nilfs2_api.h | 52 …ILFS_SUINFO_FNS(flag,name) static inline int nilfs_suinfo_ ##name(const struct nilfs_suinfo * si) \ 53 { return si->sui_flags & (1UL << NILFS_SUINFO_ ##flag); \
|
/bionic/libc/kernel/uapi/asm-x86/asm/ |
D | sigcontext.h | 112 __u32 si; member 140 __u64 si; member
|
/bionic/libc/arch-x86_64/string/ |
D | sse2-memmove-slm.S | 278 movw %si, -2(%r8,%rdx) 304 movw %si, (%rdi)
|