Home
last modified time | relevance | path

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

123

/illumos-gate/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.c269 Rt_map *lmp = lml_main.lm_head; in elf_verify() local
271 if ((lml_main.lm_flags & LML_FLG_TRC_LDDSTUB) && lmp && in elf_verify()
272 (FLAGS1(lmp) & FL1_RT_LDDSTUB) && (NEXT(lmp) == NULL)) { in elf_verify()
303 Rt_map *lmp = lml->lm_head; in elf_rtld_load() local
308 if (elf_needed(lml, ALIST_OFF_DATA, lmp, NULL) == 0) in elf_rtld_load()
323 (void) elf_reloc_relative_count((ulong_t)JMPREL(lmp), in elf_rtld_load()
324 (ulong_t)(PLTRELSZ(lmp) / RELENT(lmp)), (ulong_t)RELENT(lmp), in elf_rtld_load()
325 (ulong_t)ADDR(lmp), lmp, NULL, 0); in elf_rtld_load()
461 Rt_map *lmp = lml_main.lm_head; in elf_entry_point() local
462 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.c58 load_filtees(Rt_map *lmp, int *in_nfavl) in load_filtees() argument
60 if ((FLAGS1(lmp) & MSK_RT_FILTER) && in load_filtees()
61 ((FLAGS(lmp) & FLG_RT_LOADFLTR) || in load_filtees()
62 (LIST(lmp)->lm_tflags & LML_TFLG_LOADFLTR))) { in load_filtees()
63 Dyninfo *dip = DYNINFO(lmp); in load_filtees()
64 uint_t cnt, max = DYNINFOCNT(lmp); in load_filtees()
72 SLOOKUP_INIT(sl, 0, lmp, lmp, ld_entry_cnt, 0, 0, 0, 0, 0); in load_filtees()
107 Rt_map *lmp; in analyze_lmc() local
134 for (lmp = nlmp; lmp; lmp = NEXT_RT_MAP(lmp)) { in analyze_lmc()
135 if (FLAGS(lmp) & in analyze_lmc()
[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 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 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 Dutil.c381 fpavl_insert(Lm_list *lml, Rt_map *lmp, const char *name, avl_index_t where) in fpavl_insert() argument
406 fpnp->fpn_lmp = lmp; in fpavl_insert()
408 if (aplist_append(&FPNODE(lmp), fpnp, AL_CNT_FPNODE) == NULL) { in fpavl_insert()
422 fpavl_remove(Rt_map *lmp) in fpavl_remove() argument
427 for (APLIST_TRAVERSE(FPNODE(lmp), idx, fpnp)) { in fpavl_remove()
428 avl_remove(LIST(lmp)->lm_fpavl, fpnp); in fpavl_remove()
431 free(FPNODE(lmp)); in fpavl_remove()
432 FPNODE(lmp) = NULL; in fpavl_remove()
659 call_array(Addr *array, uint_t arraysz, Rt_map *lmp, Word shtype) in call_array() argument
687 DBG_CALL(Dbg_util_call_array(lmp, (void *)fptr, ndx, shtype)); in call_array()
[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 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()
197 elf_config(Rt_map *lmp) in elf_config() argument
212 if ((str = strrchr(PATHNAME(lmp), '/')) != NULL) in elf_config()
215 str = PATHNAME(lmp); in elf_config()
[all …]
H A Dcap.c412 cap_check_lmp_init(Rt_map *lmp) in cap_check_lmp_init() argument
429 if ((file = strrchr(NAME(lmp), '/')) != NULL) in cap_check_lmp_init()
435 (HWAVL_RECORDED(NAME(lmp)) != 0) || in cap_check_lmp_init()
436 ((PATHNAME(lmp) != NAME(lmp)) && in cap_check_lmp_init()
437 (HWAVL_RECORDED(PATHNAME(lmp)) != 0))) in cap_check_lmp_init()
444 for (APLIST_TRAVERSE(ALIAS(lmp), idx, cp)) { in cap_check_lmp_init()
457 FLAGS1(lmp) |= FL1_RT_ALTCAP; in cap_check_lmp_init()
458 FLAGS1(lmp) |= FL1_RT_ALTCHECK; in cap_check_lmp_init()
468 cap_check_lmp(Rt_map *lmp, Rej_desc *rej) in cap_check_lmp() argument
470 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 …]
/illumos-gate/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 …]
/illumos-gate/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 …]
/illumos-gate/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 …]
/illumos-gate/usr/src/cmd/sgs/rtld/sparc/
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()
/illumos-gate/usr/src/cmd/sgs/liblddbg/common/
H A Dutil.c38 Dbg_util_call_main(Rt_map *lmp) in Dbg_util_call_main() argument
40 Lm_list *lml = LIST(lmp); in Dbg_util_call_main()
43 dbg_print(lml, MSG_INTL(MSG_UTL_TRANS), NAME(lmp)); in Dbg_util_call_main()
48 Dbg_util_call_init(Rt_map *lmp, int flag) in Dbg_util_call_init() argument
50 Lm_list *lml = LIST(lmp); in Dbg_util_call_init()
66 dbg_print(lml, MSG_INTL(MSG_UTL_INIT), str, NAME(lmp)); in Dbg_util_call_init()
71 Dbg_util_intoolate(Rt_map *lmp) in Dbg_util_intoolate() argument
73 Lm_list *lml = LIST(lmp); in Dbg_util_intoolate()
76 dbg_print(lml, MSG_INTL(MSG_UTL_INTOOLATE), NAME(lmp)); in Dbg_util_intoolate()
129 Dbg_util_call_array(Rt_map *lmp, void *addr, int ndx, Word shtype) in Dbg_util_call_array() argument
[all …]
H A Dfiles.c40 Dbg_file_analyze(Rt_map *lmp) in Dbg_file_analyze() argument
43 Lm_list *lml = LIST(lmp); in Dbg_file_analyze()
49 dbg_print(lml, MSG_INTL(MSG_FIL_ANALYZE), NAME(lmp), in Dbg_file_analyze()
50 conv_dl_mode(MODE(lmp), 1, &dl_mode_buf)); in Dbg_file_analyze()
107 Dbg_file_ldso(Rt_map *lmp, char **envp, auxv_t *auxv, const char *lmid, in Dbg_file_ldso() argument
110 Lm_list *lml = LIST(lmp); in Dbg_file_ldso()
116 dbg_print(lml, MSG_INTL(MSG_FIL_LDSO), PATHNAME(lmp)); in Dbg_file_ldso()
117 dbg_print(lml, MSG_INTL(MSG_FIL_DATA_AS), EC_ADDR(ADDR(lmp)), in Dbg_file_ldso()
118 EC_OFF(MSIZE(lmp))); in Dbg_file_ldso()
127 Dbg_file_prot(Rt_map *lmp, int prot) in Dbg_file_prot() argument
[all …]
/illumos-gate/usr/src/cmd/mdb/common/modules/libumem/
H A Dleaky_subr.c95 leaky_mtab(uintptr_t addr, const umem_bufctl_audit_t *bcp, leak_mtab_t **lmp) in leaky_mtab() argument
97 leak_mtab_t *lm = (*lmp)++; in leaky_mtab()
107 leaky_mtab_addr(uintptr_t addr, void *ignored, leak_mtab_t **lmp) in leaky_mtab_addr() argument
109 leak_mtab_t *lm = (*lmp)++; in leaky_mtab_addr()
117 leaky_seg(uintptr_t addr, const vmem_seg_t *seg, leak_mtab_t **lmp) in leaky_seg() argument
119 leak_mtab_t *lm = (*lmp)++; in leaky_seg()
128 leaky_vmem(uintptr_t addr, const vmem_t *vmem, leak_mtab_t **lmp) in leaky_vmem() argument
134 if (mdb_pwalk("vmem_alloc", (mdb_walk_cb_t)leaky_seg, lmp, addr) == -1) in leaky_vmem()
203 leaky_read_segs(uintptr_t addr, const vmem_seg_t *seg, leaky_maps_t *lmp) in leaky_read_segs() argument
205 leaky_seg_info_t *my_si = lmp->lm_segs + lmp->lm_seg_count; in leaky_read_segs()
[all …]
/illumos-gate/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()
/illumos-gate/usr/src/cmd/mdb/common/modules/genunix/
H A Dleaky_subr.c70 leaky_mtab(uintptr_t addr, const kmem_bufctl_audit_t *bcp, leak_mtab_t **lmp) in leaky_mtab() argument
72 leak_mtab_t *lm = (*lmp)++; in leaky_mtab()
82 leaky_mtab_addr(uintptr_t addr, void *ignored, leak_mtab_t **lmp) in leaky_mtab_addr() argument
84 leak_mtab_t *lm = (*lmp)++; in leaky_mtab_addr()
92 leaky_seg(uintptr_t addr, const vmem_seg_t *seg, leak_mtab_t **lmp) in leaky_seg() argument
94 leak_mtab_t *lm = (*lmp)++; in leaky_seg()
113 leaky_vmem(uintptr_t addr, const vmem_t *vmem, leak_mtab_t **lmp) in leaky_vmem() argument
118 if (mdb_pwalk("vmem_alloc", (mdb_walk_cb_t)leaky_seg, lmp, addr) == -1) in leaky_vmem()
181 leaky_cache(uintptr_t addr, const kmem_cache_t *c, leak_mtab_t **lmp) in leaky_cache() argument
183 leak_mtab_t *lm = *lmp; in leaky_cache()
[all …]
/illumos-gate/usr/src/cmd/sgs/link_audit/common/
H A Dsymbindrep.c68 la_objopen(Link_map *lmp, Lmid_t lmid, uintptr_t *cookie) in la_objopen() argument
73 (check_list(bindto_list, lmp->l_name))) in la_objopen()
79 (check_list(bindfrom_list, lmp->l_name))) in la_objopen()
82 *cookie = (uintptr_t)lmp->l_name; in la_objopen()

123