Lines Matching defs:sym

120 	Sym *sym;
321 Sym *sym;
323 sym = gnu_lookup_filtered(gh, ght, dso, s, gho, ghm);
326 sym = sysv_lookup(s, h, dso);
328 if (!sym) continue;
329 if (!sym->st_shndx)
330 if (need_def || (sym->st_info&0xf) == STT_TLS
331 || ARCH_SYM_REJECT_UND(sym))
333 if (!sym->st_value)
334 if ((sym->st_info&0xf) != STT_TLS)
336 if (!(1<<(sym->st_info&0xf) & OK_TYPES)) continue;
337 if (!(1<<(sym->st_info>>4) & OK_BINDS)) continue;
338 def.sym = sym;
389 Sym *sym;
431 sym = syms + sym_index;
432 name = strings + sym->st_name;
434 def = (sym->st_info>>4) == STB_LOCAL
435 ? (struct symdef){ .dso = dso, .sym = sym }
437 if (!def.sym && (sym->st_shndx != SHN_UNDEF
438 || sym->st_info>>4 != STB_WEAK)) {
452 sym = 0;
453 def.sym = 0;
457 sym_val = def.sym ? (size_t)laddr(def.dso, def.sym->st_value) : 0;
458 tls_val = def.sym ? def.sym->st_value : 0;
483 if (sym) *reloc_addr = sym_val + addend;
487 memcpy(reloc_addr, (void *)sym_val, sym->st_size);
494 *reloc_addr = def.sym ? (size_t)(def.dso->funcdescs
495 + (def.sym - def.dso->syms)) : 0;
498 if ((sym->st_info&0xf) == STT_SECTION) *reloc_addr += sym_val;
500 reloc_addr[1] = def.sym ? (size_t)def.dso->got : 0;
527 dso->name, sym ? name : "(local)" );
1232 if (find_sym(&temp_dso, "__libc_start_main", 1).sym &&
1233 find_sym(&temp_dso, "stdin", 1).sym) {
1444 Sym *sym = p->syms + j;
1446 for (i-=j; i; i--, sym++, rel[0]+=sizeof(size_t)) {
1447 rel[1] = R_INFO(sym-p->syms, R_MIPS_JUMP_SLOT);
1808 if (DL_FDPIC) ((stage3_func)&ldso.funcdescs[dls2b_def.sym-ldso.syms])(sp, auxv);
1809 else ((stage3_func)laddr(&ldso, dls2b_def.sym->st_value))(sp, auxv);
1832 if (DL_FDPIC) ((stage3_func)&ldso.funcdescs[dls3_def.sym-ldso.syms])(sp, auxv);
1833 else ((stage3_func)laddr(&ldso, dls3_def.sym->st_value))(sp, auxv);
2350 if (!def.sym) {
2354 if ((def.sym->st_info&0xf) == STT_TLS)
2355 return __tls_get_addr((tls_mod_off_t []){def.dso->tls_id, def.sym->st_value-DTP_OFFSET});
2356 if (DL_FDPIC && (def.sym->st_info&0xf) == STT_FUNC)
2357 return def.dso->funcdescs + (def.sym - def.dso->syms);
2358 return laddr(def.dso, def.sym->st_value);
2365 Sym *sym, *bestsym;
2377 sym = p->syms;
2384 if (idx < nsym && (sym[idx].st_info&0xf) == STT_FUNC) {
2386 bestsym = sym + idx;
2391 if (!best) for (; nsym; nsym--, sym++) {
2392 if (sym->st_value
2393 && (1<<(sym->st_info&0xf) & OK_TYPES)
2394 && (1<<(sym->st_info>>4) & OK_BINDS)) {
2395 size_t symaddr = (size_t)laddr(p, sym->st_value);
2399 bestsym = sym;
2458 if (find_sym(&ldso, redir, 1).sym) s = redir;