Home
last modified time | relevance | path

Searched refs:lmp (Results 1 – 25 of 75) sorted by relevance

123

/titanic_50/usr/src/cmd/sgs/rtld/common/
H A Dremove.c90 Rt_map *lmp = *_tobj; in purge_exit_handlers() local
92 num += MMAPCNT(lmp); in purge_exit_handlers()
111 Rt_map *lmp = *_tobj; in purge_exit_handlers() local
112 mmapobj_result_t *mpp = MMAPS(lmp); in purge_exit_handlers()
115 for (ndx = 0; ndx < MMAPCNT(lmp); ndx++, mpp++) { in purge_exit_handlers()
212 remove_so(Lm_list *lml, Rt_map *lmp, Rt_map *clmp) in remove_so() argument
216 if (lmp == NULL) in remove_so()
222 if (lml && lmp) in remove_so()
223 lm_delete(lml, lmp, clmp); in remove_so()
235 if (lml->lm_lcs[tag].lc_lmp == lmp) { in remove_so()
[all …]
H A Delf.c295 Rt_map *lmp = lml_main.lm_head; in elf_verify() local
297 if ((lml_main.lm_flags & LML_FLG_TRC_LDDSTUB) && lmp && in elf_verify()
298 (FLAGS1(lmp) & FL1_RT_LDDSTUB) && (NEXT(lmp) == NULL)) { in elf_verify()
329 Rt_map *lmp = lml->lm_head; in elf_rtld_load() local
334 if (elf_needed(lml, ALIST_OFF_DATA, lmp, NULL) == 0) in elf_rtld_load()
349 (void) elf_reloc_relative_count((ulong_t)JMPREL(lmp), in elf_rtld_load()
350 (ulong_t)(PLTRELSZ(lmp) / RELENT(lmp)), (ulong_t)RELENT(lmp), in elf_rtld_load()
351 (ulong_t)ADDR(lmp), lmp, NULL, 0); in elf_rtld_load()
487 Rt_map *lmp = lml_main.lm_head; in elf_entry_point() local
488 Ehdr *ehdr = (Ehdr *)ADDR(lmp); in elf_entry_point()
[all …]
H A Dtls.c118 tls_modaddrem(Rt_map *lmp, uint_t flag) in tls_modaddrem() argument
120 Lm_list *lml = LIST(lmp); in tls_modaddrem()
127 } else if (FLAGS1(lmp) & FL1_RT_TLSADD) { in tls_modaddrem()
133 tlsphdr = PTTLS(lmp); in tls_modaddrem()
136 tmi.tm_modname = PATHNAME(lmp); in tls_modaddrem()
137 tmi.tm_modid = TLSMODID(lmp); in tls_modaddrem()
140 if (!(FLAGS(lmp) & FLG_RT_FIXED)) in tls_modaddrem()
142 ADDR(lmp)); in tls_modaddrem()
149 DBG_CALL(Dbg_tls_modactivity(LIST(lmp), &tmi, flag)); in tls_modaddrem()
156 FLAGS1(lmp) |= FL1_RT_TLSADD; in tls_modaddrem()
[all …]
H A Danalyze.c59 load_filtees(Rt_map *lmp, int *in_nfavl) in load_filtees() argument
61 if ((FLAGS1(lmp) & MSK_RT_FILTER) && in load_filtees()
62 ((FLAGS(lmp) & FLG_RT_LOADFLTR) || in load_filtees()
63 (LIST(lmp)->lm_tflags & LML_TFLG_LOADFLTR))) { in load_filtees()
64 Dyninfo *dip = DYNINFO(lmp); in load_filtees()
65 uint_t cnt, max = DYNINFOCNT(lmp); in load_filtees()
73 SLOOKUP_INIT(sl, 0, lmp, lmp, ld_entry_cnt, 0, 0, 0, 0, 0); in load_filtees()
108 Rt_map *lmp; in analyze_lmc() local
135 for (lmp = nlmp; lmp; lmp = NEXT_RT_MAP(lmp)) { in analyze_lmc()
136 if (FLAGS(lmp) & in analyze_lmc()
[all …]
H A Dmove.c53 elf_move_bad(Lm_list *lml, Rt_map *lmp, Sym *sym, ulong_t num, Addr addr) in elf_move_bad() argument
66 name = (const char *)(STRTAB(lmp) + sym->st_name); in elf_move_bad()
81 move_data(Rt_map *lmp, APlist **textrel) in move_data() argument
83 Lm_list *lml = LIST(lmp); in move_data()
84 Move *mv = MOVETAB(lmp); in move_data()
85 ulong_t num, mvnum = MOVESZ(lmp) / MOVEENT(lmp); in move_data()
94 moves = (lmp == lml->lm_head) && ((FLAGS1(lmp) & FL1_RT_DTFLAGS) == 0); in move_data()
96 DBG_CALL(Dbg_move_data(lmp)); in move_data()
103 if ((sym = (Sym *)SYMTAB(lmp) + ELF_M_SYM(mv->m_info)) == 0) in move_data()
113 if ((FLAGS(lmp) & FLG_RT_FIXED) == 0) in move_data()
[all …]
H A Dtsort.c95 Rt_map *lmp; in sort_scc() local
109 Rt_map *lmp, *lmp2; in sort_scc() local
111 lmp = sort->s_lmp; in sort_scc()
114 if (aplist_append(&sort->s_queue, lmp, sort->s_num) == NULL) in sort_scc()
117 IDX(lmp) = ndx++; in sort_scc()
177 lmp = sort->s_lmpa[ndx]; in sort_scc()
178 CYCGROUP(lmp) = cnt; in sort_scc()
181 (void) printf(ffmt, NAME(lmp)); in sort_scc()
182 DBG_CALL(Dbg_util_scc_entry(lmp, ndx)); in sort_scc()
188 lmp = sort->s_lmpa[ndx]; in sort_scc()
[all …]
H A Da.out.c371 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()
[all …]
H A Dpaths.c110 get_dir_list(uchar_t rules, Rt_map *lmp, uint_t flags) in get_dir_list() argument
113 Lm_list *lml = LIST(lmp); in get_dir_list()
121 ((FLAGS1(lmp) & FL1_RT_LDDSTUB) == 0) && in get_dir_list()
175 (void) expand_paths(lmp, rpl_libpath, in get_dir_list()
216 (void) expand_paths(lmp, prm_libpath, in get_dir_list()
229 if (RPATH(lmp)) { in get_dir_list()
230 DBG_CALL(Dbg_libs_path(lml, RPATH(lmp), LA_SER_RUNPATH, in get_dir_list()
231 NAME(lmp))); in get_dir_list()
243 RPATH(lmp), NAME(lmp)); in get_dir_list()
244 if (RLIST(lmp) && (rtld_flags & RT_FL_SECURE) && in get_dir_list()
[all …]
H A D_inline_reloc.h38 _elf_reloc_relative(ulong_t rbgn, ulong_t base, Rt_map *lmp, APlist **textrel, in _elf_reloc_relative() argument
52 if ((mpp = find_segment((caddr_t)roffset, lmp)) == NULL) in _elf_reloc_relative()
60 ((set_prot(lmp, mpp, 1) == 0) || in _elf_reloc_relative()
98 Rt_map *lmp, APlist **textrel, int add) in elf_reloc_relative() argument
103 if (_elf_reloc_relative(rbgn, base, lmp, textrel, add) == 0) in elf_reloc_relative()
127 ulong_t base, Rt_map *lmp, APlist **textrel, int add) in elf_reloc_relative_count() argument
130 if (_elf_reloc_relative(rbgn, base, lmp, textrel, add) == 0) in elf_reloc_relative_count()
145 is_sym_deferred(ulong_t rbgn, ulong_t base, Rt_map *lmp, APlist **textrel, in is_sym_deferred() argument
159 sipe = (Syminfo *)((char *)sip + (sndx * SYMINENT(lmp))); in is_sym_deferred()
174 if ((FLAGS(lmp) & FLG_RT_RELOCED) == 0) in is_sym_deferred()
[all …]
H A Dutil.c380 fpavl_insert(Lm_list *lml, Rt_map *lmp, const char *name, avl_index_t where) in fpavl_insert() argument
404 fpnp->fpn_lmp = lmp; in fpavl_insert()
406 if (aplist_append(&FPNODE(lmp), fpnp, AL_CNT_FPNODE) == NULL) { in fpavl_insert()
420 fpavl_remove(Rt_map *lmp) in fpavl_remove() argument
425 for (APLIST_TRAVERSE(FPNODE(lmp), idx, fpnp)) { in fpavl_remove()
426 avl_remove(LIST(lmp)->lm_fpavl, fpnp); in fpavl_remove()
429 free(FPNODE(lmp)); in fpavl_remove()
430 FPNODE(lmp) = NULL; in fpavl_remove()
656 call_array(Addr *array, uint_t arraysz, Rt_map *lmp, Word shtype) in call_array() argument
684 DBG_CALL(Dbg_util_call_array(lmp, (void *)fptr, ndx, shtype)); in call_array()
[all …]
H A Ddlfcns.c73 Rt_map *lmp; in _caller() local
75 for (lmp = lmc->lc_head; lmp; in _caller()
76 lmp = NEXT_RT_MAP(lmp)) { in _caller()
78 if (find_segment(cpc, lmp)) in _caller()
79 return (lmp); in _caller()
128 hdl_add(Grp_hdl *ghp, Rt_map *lmp, uint_t dflags, int *alep) in hdl_add() argument
139 if (gdp->gd_depend == lmp) { in hdl_add()
151 gd.gd_depend = lmp; in hdl_add()
157 if (aplist_append(&GROUPS(lmp), ghp, AL_CNT_GROUPS) == NULL) in hdl_add()
173 DBG_CALL(Dbg_file_hdl_action(ghp, lmp, DBG_DEP_ADD, in hdl_add()
[all …]
H A Dconfig_elf.c47 elf_config_validate(Addr addr, Rtc_head *head, Rt_map *lmp) in elf_config_validate() argument
49 Lm_list *lml = LIST(lmp); in elf_config_validate()
67 const char *aname = PATHNAME(lmp); in elf_config_validate()
85 ((FLAGS1(lmp) & FL1_RT_LDDSTUB) == 0)) { in elf_config_validate()
97 if ((FLAGS1(lmp) & FL1_RT_LDDSTUB) == 0) { in elf_config_validate()
98 ORIGNAME(lmp) = _cname; in elf_config_validate()
99 DIRSZ(lmp) = cname - _cname - 1; in elf_config_validate()
196 elf_config(Rt_map *lmp, int aout) in elf_config() argument
211 if ((str = strrchr(PATHNAME(lmp), '/')) != NULL) in elf_config()
214 str = PATHNAME(lmp); in elf_config()
[all …]
H A Dcap.c371 cap_check_lmp_init(Rt_map *lmp) in cap_check_lmp_init() argument
388 if ((file = strrchr(NAME(lmp), '/')) != NULL) in cap_check_lmp_init()
394 (HWAVL_RECORDED(NAME(lmp)) != 0) || in cap_check_lmp_init()
395 ((PATHNAME(lmp) != NAME(lmp)) && in cap_check_lmp_init()
396 (HWAVL_RECORDED(PATHNAME(lmp)) != 0))) in cap_check_lmp_init()
403 for (APLIST_TRAVERSE(ALIAS(lmp), idx, cp)) { in cap_check_lmp_init()
416 FLAGS1(lmp) |= FL1_RT_ALTCAP; in cap_check_lmp_init()
417 FLAGS1(lmp) |= FL1_RT_ALTCHECK; in cap_check_lmp_init()
427 cap_check_lmp(Rt_map *lmp, Rej_desc *rej) in cap_check_lmp() argument
429 if ((FLAGS1(lmp) & FL1_RT_ALTCHECK) == 0) in cap_check_lmp()
[all …]
H A Daudit.c398 Rt_map *lmp; in audit_activity() local
413 for (APLIST_TRAVERSE(aud_activity, idx, lmp)) { in audit_activity()
414 if ((clmp != lmp) && AUDITORS(lmp) && in audit_activity()
415 (AUDITORS(lmp)->ad_flags & LML_TFLG_AUD_ACTIVITY)) { in audit_activity()
416 _audit_activity(AUDITORS(lmp)->ad_list, lmp, flags, in audit_activity()
703 _audit_objclose(APlist *list, Rt_map *lmp) in _audit_objclose() argument
707 Lm_list *lml = LIST(lmp); in _audit_objclose()
716 if ((acp = _audit_client(AUDINFO(lmp), almp)) == NULL) in _audit_objclose()
719 DBG_CALL(Dbg_audit_objclose(lml, alp->al_libname, NAME(lmp))); in _audit_objclose()
736 add_objclose_list(Rt_map *lmp, APlist **alpp) in add_objclose_list() argument
[all …]
/titanic_50/usr/src/cmd/sgs/rtld/amd64/
H A Damd64_elf.c66 ldso_plt_init(Rt_map *lmp) in ldso_plt_init() argument
74 if (PLTGOT(lmp)) in ldso_plt_init()
75 elf_plt_init((PLTGOT(lmp)), (caddr_t)lmp); in ldso_plt_init()
212 elf_bndr(Rt_map *lmp, ulong_t pltndx, caddr_t from) in elf_bndr() argument
233 lml = LIST(lmp); in elf_bndr()
244 if ((!lmp) && (pltndx <= in elf_bndr()
245 (ulong_t)PLTRELSZ(lmp) / (ulong_t)RELENT(lmp))) { in elf_bndr()
250 EC_NATPTR(lmp), EC_XWORD(pltndx), EC_NATPTR(from)); in elf_bndr()
253 reloff = pltndx * (ulong_t)RELENT(lmp); in elf_bndr()
258 addr = (ulong_t)JMPREL(lmp); in elf_bndr()
[all …]
H A Ddlamd64getunwind.c39 Rt_map *lmp; in getunwind_core() local
72 lmp = _caller(pc, CL_NONE); in getunwind_core()
74 if (lmp) { in getunwind_core()
80 if ((mpp = find_segment(pc, lmp)) == NULL) in getunwind_core()
83 unwindinfo->dlui_objname = (char *)PATHNAME(lmp); in getunwind_core()
87 if (PTUNWIND(lmp) && (mpp->mr_addr)) { in getunwind_core()
90 if (FLAGS(lmp) & FLG_RT_FIXED) in getunwind_core()
93 base = ADDR(lmp); in getunwind_core()
96 (void *)(PTUNWIND(lmp)->p_vaddr + base); in getunwind_core()
98 (void *)(PTUNWIND(lmp)->p_vaddr + in getunwind_core()
[all …]
/titanic_50/usr/src/cmd/sgs/rtld/i386/
H A Di386_elf.c69 ldso_plt_init(Rt_map *lmp) in ldso_plt_init() argument
77 if (PLTGOT(lmp)) in ldso_plt_init()
78 elf_plt_init((PLTGOT(lmp)), (caddr_t)lmp); in ldso_plt_init()
193 elf_bndr(Rt_map *lmp, ulong_t reloff, caddr_t from) in elf_bndr() argument
214 lml = LIST(lmp); in elf_bndr()
225 if (!lmp || ((reloff % sizeof (Rel)) != 0)) { in elf_bndr()
230 EC_NATPTR(lmp), EC_XWORD(reloff), EC_NATPTR(from)); in elf_bndr()
237 addr = (ulong_t)JMPREL(lmp); in elf_bndr()
240 rsym = (Sym *)((ulong_t)SYMTAB(lmp) + (rsymndx * SYMENT(lmp))); in elf_bndr()
241 name = (char *)(STRTAB(lmp) + rsym->st_name); in elf_bndr()
[all …]
/titanic_50/usr/src/cmd/sgs/rtld/sparc/
H A Dsparc_a.out.c66 Rt_map *lmp, *nlmp, *llmp; in aout_bndr() local
86 for (lmp = lml_main.lm_head; lmp; lmp = NEXT_RT_MAP(lmp)) { in aout_bndr()
87 if (THIS_IS_AOUT(lmp)) { in aout_bndr()
88 if (pc > (caddr_t)(LM2LP(lmp)->lp_plt) && in aout_bndr()
89 pc < (caddr_t)((int)LM2LP(lmp)->lp_plt + in aout_bndr()
90 AOUTDYN(lmp)->v2->ld_plt_sz)) { in aout_bndr()
100 rp = &LM2LP(lmp)->lp_rp[rndx]; in aout_bndr()
101 sp = &LM2LP(lmp)->lp_symtab[rp->r_symbolnum]; in aout_bndr()
102 name = &LM2LP(lmp)->lp_symstr[sp->n_un.n_strx]; in aout_bndr()
108 lml = LIST(lmp); in aout_bndr()
[all …]
H A Dsparc_elf.c86 ldso_plt_init(Rt_map *lmp) in ldso_plt_init() argument
94 if (PLTGOT(lmp)) in ldso_plt_init()
95 elf_plt_init((PLTGOT(lmp)), (caddr_t)lmp); in ldso_plt_init()
350 elf_bndr(Rt_map *lmp, ulong_t pltoff, caddr_t from) in elf_bndr() argument
373 lml = LIST(lmp); in elf_bndr()
396 if (!lmp || ((addr % M_PLT_ENTSIZE) != 0)) { in elf_bndr()
401 EC_NATPTR(lmp), EC_XWORD(pltoff), EC_NATPTR(from)); in elf_bndr()
409 addr = (ulong_t)JMPREL(lmp); in elf_bndr()
412 rsym = (Sym *)((ulong_t)SYMTAB(lmp) + (rsymndx * SYMENT(lmp))); in elf_bndr()
413 name = (char *)(STRTAB(lmp) + rsym->st_name); in elf_bndr()
[all …]
H A Dcommon_sparc.c92 elf_regsyms(Rt_map *lmp) in elf_regsyms() argument
105 for (dyn = DYN(lmp), dip = DYNINFO(lmp); in elf_regsyms()
116 symdef = (Sym *)((unsigned long)SYMTAB(lmp) + in elf_regsyms()
117 (rsymndx * SYMENT(lmp))); in elf_regsyms()
131 sym2 = (STRTAB(lmp) + symdef->st_name); in elf_regsyms()
143 if (LIST(lmp)->lm_flags & LML_FLG_TRC_WARN) { in elf_regsyms()
147 sym1, NAME(lmp), sym2); in elf_regsyms()
149 eprintf(LIST(lmp), ERR_FATAL, in elf_regsyms()
153 sym1, NAME(lmp), sym2); in elf_regsyms()
159 rp->rl_lmp = lmp; in elf_regsyms()
/titanic_50/usr/src/cmd/sgs/rtld/sparcv9/
H A Dsparc_elf.c97 ldso_plt_init(Rt_map *lmp) in ldso_plt_init() argument
105 if (PLTGOT(lmp)) { in ldso_plt_init()
112 elf_plt2_init(PLTGOT(lmp) + pltoff, lmp); in ldso_plt_init()
121 elf_plt_init(PLTGOT(lmp), (caddr_t)elf_rtbndr_far); in ldso_plt_init()
127 elf_plt_init(PLTGOT(lmp) + pltoff, (caddr_t)elf_rtbndr); in ldso_plt_init()
477 elf_bndr(Rt_map *lmp, ulong_t pltoff, caddr_t from) in elf_bndr() argument
501 lml = LIST(lmp); in elf_bndr()
536 if (!lmp || (!farplt && (addr % M_PLT_ENTSIZE) != 0) || in elf_bndr()
542 EC_NATPTR(lmp), EC_XWORD(pltoff), EC_NATPTR(from)); in elf_bndr()
550 addr = (ulong_t)JMPREL(lmp); in elf_bndr()
[all …]
/titanic_50/usr/src/cmd/sgs/liblddbg/common/
H A Dutil.c36 Dbg_util_call_main(Rt_map *lmp) in Dbg_util_call_main() argument
38 Lm_list *lml = LIST(lmp); in Dbg_util_call_main()
41 dbg_print(lml, MSG_INTL(MSG_UTL_TRANS), NAME(lmp)); in Dbg_util_call_main()
46 Dbg_util_call_init(Rt_map *lmp, int flag) in Dbg_util_call_init() argument
48 Lm_list *lml = LIST(lmp); in Dbg_util_call_init()
64 dbg_print(lml, MSG_INTL(MSG_UTL_INIT), str, NAME(lmp)); in Dbg_util_call_init()
69 Dbg_util_intoolate(Rt_map *lmp) in Dbg_util_intoolate() argument
71 Lm_list *lml = LIST(lmp); in Dbg_util_intoolate()
74 dbg_print(lml, MSG_INTL(MSG_UTL_INTOOLATE), NAME(lmp)); in Dbg_util_intoolate()
127 Dbg_util_call_array(Rt_map *lmp, void *addr, int ndx, Word shtype) in Dbg_util_call_array() argument
[all …]
H A Dfiles.c39 Dbg_file_analyze(Rt_map *lmp) in Dbg_file_analyze() argument
42 Lm_list *lml = LIST(lmp); in Dbg_file_analyze()
48 dbg_print(lml, MSG_INTL(MSG_FIL_ANALYZE), NAME(lmp), in Dbg_file_analyze()
49 conv_dl_mode(MODE(lmp), 1, &dl_mode_buf)); in Dbg_file_analyze()
120 Dbg_file_ldso(Rt_map *lmp, char **envp, auxv_t *auxv, const char *lmid, in Dbg_file_ldso() argument
123 Lm_list *lml = LIST(lmp); in Dbg_file_ldso()
129 dbg_print(lml, MSG_INTL(MSG_FIL_LDSO), PATHNAME(lmp)); in Dbg_file_ldso()
130 dbg_print(lml, MSG_INTL(MSG_FIL_DATA_AS), EC_ADDR(ADDR(lmp)), in Dbg_file_ldso()
131 EC_OFF(MSIZE(lmp))); in Dbg_file_ldso()
140 Dbg_file_prot(Rt_map *lmp, int prot) in Dbg_file_prot() argument
[all …]
/titanic_50/usr/src/cmd/mdb/common/modules/libumem/
H A Dleaky_subr.c97 leaky_mtab(uintptr_t addr, const umem_bufctl_audit_t *bcp, leak_mtab_t **lmp) in leaky_mtab() argument
99 leak_mtab_t *lm = (*lmp)++; in leaky_mtab()
109 leaky_mtab_addr(uintptr_t addr, void *ignored, leak_mtab_t **lmp) in leaky_mtab_addr() argument
111 leak_mtab_t *lm = (*lmp)++; in leaky_mtab_addr()
119 leaky_seg(uintptr_t addr, const vmem_seg_t *seg, leak_mtab_t **lmp) in leaky_seg() argument
121 leak_mtab_t *lm = (*lmp)++; in leaky_seg()
130 leaky_vmem(uintptr_t addr, const vmem_t *vmem, leak_mtab_t **lmp) in leaky_vmem() argument
136 if (mdb_pwalk("vmem_alloc", (mdb_walk_cb_t)leaky_seg, lmp, addr) == -1) in leaky_vmem()
205 leaky_read_segs(uintptr_t addr, const vmem_seg_t *seg, leaky_maps_t *lmp) in leaky_read_segs() argument
207 leaky_seg_info_t *my_si = lmp->lm_segs + lmp->lm_seg_count; in leaky_read_segs()
[all …]
/titanic_50/usr/src/lib/libdtrace/common/
H A Ddlink_init.c50 Link_map *lmp; in dtrace_drti_init() local
55 if (dlinfo(RTLD_SELF, RTLD_DI_LINKMAP, &lmp) == -1 || lmp == NULL) { in dtrace_drti_init()
65 dtrace_link_dof(&__SUNW_dof, lmid, lmp->l_name, lmp->l_addr); in dtrace_drti_init()

123