Lines Matching refs:ldso

115 static struct dso ldso;
318 if (dso == &ldso) {
319 /* Only ldso's REL table needs addend saving/reuse. */
357 * chain consists of just ldso; otherwise read back
359 if (head==&ldso)
925 name, ldso.name,
926 ldso.base);
932 if (!strcmp(name, ldso.name)) is_self = 1;
934 if (!ldso.prev) {
935 tail->next = &ldso;
936 ldso.prev = tail;
937 tail = ldso.next ? ldso.next : &ldso;
939 return &ldso;
965 if (ldso.name[0]=='/') {
967 for (s=t=z=ldso.name; *s; s++)
969 prefix_len = z-ldso.name;
971 prefix = ldso.name;
1128 if (p==&ldso) {
1156 if (head != &ldso && p->relro_start != p->relro_end &&
1338 if (aux[AT_BASE]) ldso.base = (void *)aux[AT_BASE];
1339 else ldso.base = (void *)(aux[AT_PHDR] & -4096);
1342 ldso.loadmap = p2 ? p2 : p1;
1343 ldso.base = laddr(&ldso, 0);
1345 ldso.base = base;
1347 Ehdr *ehdr = (void *)ldso.base;
1348 ldso.name = ldso.shortname = "libc.so";
1349 ldso.global = 1;
1350 ldso.phnum = ehdr->e_phnum;
1351 ldso.phdr = laddr(&ldso, ehdr->e_phoff);
1352 ldso.phentsize = ehdr->e_phentsize;
1353 kernel_mapped_dso(&ldso);
1354 decode_dyn(&ldso);
1356 if (DL_FDPIC) makefuncdescs(&ldso);
1363 decode_vec(ldso.dynv, dyn, DYN_CNT);
1364 size_t *rel = laddr(&ldso, dyn[DT_REL]);
1369 if (!IS_RELATIVE(rel[1], ldso.syms)) symbolic_rel_cnt++;
1374 head = &ldso;
1375 reloc_all(&ldso);
1377 ldso.relocated = 0;
1382 struct symdef dls3_def = find_sym(&ldso, "__dls3", 0);
1383 if (DL_FDPIC) ((stage3_func)&ldso.funcdescs[dls3_def.sym-ldso.syms])(sp);
1384 else ((stage3_func)laddr(&ldso, dls3_def.sym->st_value))(sp);
1415 /* Setup early thread pointer in builtin_tls for ldso/libc itself to
1433 if (aux[AT_PHDR] != (size_t)ldso.phdr) {
1454 if (interp_off) ldso.name = laddr(&app, interp_off);
1509 ldso.name = ldname;
1517 ldso.name = laddr(&app, app.phdr[i].p_vaddr);
1519 dprintf(1, "\t%s (%p)\n", ldso.name, ldso.base);
1569 vdso.prev = &ldso;
1570 ldso.next = &vdso;
1578 reclaim_gaps(&ldso);
1634 debug.base = ldso.base;