Lines Matching refs:lmp
371 aout_findsb(const char *aname, Rt_map *lmp, int flag) in aout_findsb() argument
404 i = hval % (AOUTDYN(lmp)->v2->ld_buckets == 0 ? RTHS : in aout_findsb()
405 AOUTDYN(lmp)->v2->ld_buckets); in aout_findsb()
406 p = LM2LP(lmp)->lp_hash + i; in aout_findsb()
410 sp = &LM2LP(lmp)->lp_symtab[p->fssymbno]; in aout_findsb()
411 cp = &LM2LP(lmp)->lp_symstr[sp->n_un.n_strx]; in aout_findsb()
427 } while ((p = &LM2LP(lmp)->lp_hash[p->next]) != NULL); in aout_findsb()
509 Rt_map *lmp; in aout_new_lmp() local
524 if ((lmp = calloc(lmsz, 1)) == NULL) in aout_new_lmp()
526 AOUTPRV(lmp) = (void *)((uintptr_t)lmp + rtsz); in aout_new_lmp()
527 ((Rt_aoutp *)AOUTPRV(lmp))->lm_lpd = in aout_new_lmp()
528 (void *)((uintptr_t)lmp + rtsz + prsz); in aout_new_lmp()
529 LMSIZE(lmp) = lmsz; in aout_new_lmp()
534 NAME(lmp) = (char *)name; in aout_new_lmp()
535 ADDR(lmp) = addr; in aout_new_lmp()
536 MSIZE(lmp) = msize; in aout_new_lmp()
537 SYMINTP(lmp) = aout_find_sym; in aout_new_lmp()
538 FCT(lmp) = &aout_fct; in aout_new_lmp()
539 LIST(lmp) = lml; in aout_new_lmp()
540 OBJFLTRNDX(lmp) = FLTR_DISABLED; in aout_new_lmp()
541 SORTVAL(lmp) = -1; in aout_new_lmp()
548 FLAGS(lmp) |= FLG_RT_FIXED; in aout_new_lmp()
570 AOUTDYN(lmp) = ld; in aout_new_lmp()
572 if ((RPATH(lmp) = (char *)&base[ld->v2->ld_rules]) == base) in aout_new_lmp()
573 RPATH(lmp) = NULL; in aout_new_lmp()
574 LM2LP(lmp)->lp_symbol_base = caddr; in aout_new_lmp()
576 LM2LP(lmp)->lp_plt = (struct jbind *)(&caddr[JMPOFF(ld)]); in aout_new_lmp()
577 LM2LP(lmp)->lp_rp = in aout_new_lmp()
581 LM2LP(lmp)->lp_hash = (struct fshash *)(&base[HASHOFF(ld)]); in aout_new_lmp()
583 LM2LP(lmp)->lp_symtab = (struct nlist *)(&base[SYMOFF(ld)]); in aout_new_lmp()
584 LM2LP(lmp)->lp_symstr = &base[STROFF(ld)]; in aout_new_lmp()
585 LM2LP(lmp)->lp_textbase = base; in aout_new_lmp()
586 LM2LP(lmp)->lp_refcnt++; in aout_new_lmp()
587 LM2LP(lmp)->lp_dlp = NULL; in aout_new_lmp()
592 lm_append(lml, lmco, lmp); in aout_new_lmp()
593 return (lmp); in aout_new_lmp()
619 aout_dladdr(ulong_t addr, Rt_map *lmp, Dl_info *dlip, void **info, in aout_dladdr() argument
625 cnt = ((int)LM2LP(lmp)->lp_symstr - (int)LM2LP(lmp)->lp_symtab) / in aout_dladdr()
627 sym = LM2LP(lmp)->lp_symtab; in aout_dladdr()
629 if (FLAGS(lmp) & FLG_RT_FIXED) in aout_dladdr()
632 base = ADDR(lmp); in aout_dladdr()
667 *info = (void *)lmp; in aout_dladdr()
669 dlip->dli_sname = &LM2LP(lmp)->lp_symstr[_sym->n_un.n_strx]; in aout_dladdr()