Lines Matching refs:ldso

134 static struct dso ldso;
740 * Global so includes exe, ld preload so and ldso.
1039 if (dso == &ldso) {
1040 /* Only ldso's REL table needs addend saving/reuse. */
1058 * chain consists of just ldso; otherwise read back
1060 if (head==&ldso)
1083 : dso != &ldso ? find_sym_by_saved_so_list(type, ctx, &vinfo, type==REL_PLT, dso)
1745 * case where ldso was invoked as a command to execute a
2005 name, ldso.name,
2006 ldso.base);
2012 if (!strcmp(name, ldso.name)) is_self = 1;
2014 if (!ldso.prev) {
2015 tail->next = &ldso;
2016 ldso.prev = tail;
2017 tail = &ldso;
2018 ldso.namespace = namespace;
2019 ns_add_dso(namespace, &ldso);
2021 return &ldso;
2116 /* Past this point, if we haven't reached runtime yet, ldso has
2327 if (p==&ldso) {
2479 if (p != &ldso) {
2495 if (head != &ldso && p->relro_start != p->relro_end &&
2672 if (p != &ldso) {
2676 if (p != &ldso) {
2791 if (aux[AT_BASE]) ldso.base = (void *)aux[AT_BASE];
2792 else ldso.base = (void *)(aux[AT_PHDR] & -4096);
2795 ldso.loadmap = p2 ? p2 : p1;
2796 ldso.base = laddr(&ldso, 0);
2798 ldso.base = base;
2803 Ehdr *ehdr = (void *)ldso.base;
2804 ldso.name = ldso.shortname = "libc.so";
2805 ldso.phnum = ehdr->e_phnum;
2806 ldso.phdr = laddr(&ldso, ehdr->e_phoff);
2807 ldso.phentsize = ehdr->e_phentsize;
2808 ldso.is_global = true;
2809 kernel_mapped_dso(&ldso);
2810 decode_dyn(&ldso);
2812 if (DL_FDPIC) makefuncdescs(&ldso);
2819 decode_vec(ldso.dynv, dyn, DYN_CNT);
2820 size_t *rel = laddr(&ldso, dyn[DT_REL]);
2825 if (!IS_RELATIVE(rel[1], ldso.syms)) symbolic_rel_cnt++;
2830 head = &ldso;
2831 reloc_all(&ldso, NULL);
2833 ldso.relocated = 0;
2838 struct symdef dls2b_def = find_sym(&ldso, "__dls2b", 0);
2839 if (DL_FDPIC) ((stage3_func)&ldso.funcdescs[dls2b_def.sym-ldso.syms])(sp, auxv, aux);
2840 else ((stage3_func)laddr(&ldso, dls2b_def.sym->st_value))(sp, auxv, aux);
2851 /* Setup early thread pointer in builtin_tls for ldso/libc itself to
2862 struct symdef dls3_def = find_sym(&ldso, "__dls3", 0);
2863 if (DL_FDPIC) ((stage3_func)&ldso.funcdescs[dls3_def.sym-ldso.syms])(sp, auxv, aux);
2864 else ((stage3_func)laddr(&ldso, dls3_def.sym->st_value))(sp, auxv, aux);
2908 if (aux[AT_PHDR] != (size_t)ldso.phdr) {
2929 if (interp_off) ldso.name = laddr(&app, interp_off);
2986 ldso.name = ldname;
2994 ldso.name = laddr(&app, app.phdr[i].p_vaddr);
2996 dprintf(1, "\t%s (%p)\n", ldso.name, ldso.base);
3034 reclaim_gaps(&ldso);
3037 find_and_set_bss_name(&ldso);
3040 ldso.deps = (struct dso **)no_deps;
3043 LD_LOGD("__dls3 ldso.name:%{public}s.", ldso.name);
3044 /* Through ldso Name to judge whether the Asan function is enabled */
3045 if (strstr(ldso.name, "-asan")) {
3167 if (init_cfi_shadow(head, &ldso) == CFI_FAILED) {
3177 if (find_sym(head, "malloc", 1).dso != &ldso)
3179 if (find_sym(head, "aligned_alloc", 1).dso != &ldso)
4315 if (find_sym(&ldso, redir, 1).sym) s = redir;
5169 name, ldso.name,
5170 ldso.base);
5176 if (!strcmp(name, ldso.name)) {
5180 if (!ldso.prev) {
5181 tail->next = &ldso;
5182 ldso.prev = tail;
5183 tail = &ldso;
5184 ldso.namespace = namespace;
5185 ns_add_dso(namespace, &ldso);
5188 task->p = &ldso;
5415 /* Past this point, if we haven't reached runtime yet, ldso has
5785 debug.base = ldso.base;