Lines Matching defs:lml

63 rtld_db_dlactivity(Lm_list *lml)
65 DBG_CALL(Dbg_util_dbnotify(lml, r_debug.rtd_rdebug.r_rdevent,
74 rtld_db_preinit(Lm_list *lml)
76 DBG_CALL(Dbg_util_dbnotify(lml, r_debug.rtd_rdebug.r_rdevent,
85 rtld_db_postinit(Lm_list *lml)
87 DBG_CALL(Dbg_util_dbnotify(lml, r_debug.rtd_rdebug.r_rdevent,
119 rd_event(Lm_list *lml, rd_event_e event, r_state_e state)
169 fptr(lml);
350 fpavl_recorded(Lm_list *lml, const char *name, uint_t hash, avl_index_t *where)
357 if ((lml->lm_fpavl == NULL) &&
358 ((lml->lm_fpavl = pnavl_create(sizeof (FullPathNode))) == NULL))
365 if ((fpnp = avl_find(lml->lm_fpavl, &fpn, where)) == NULL)
380 fpavl_insert(Lm_list *lml, Rt_map *lmp, const char *name, avl_index_t where)
387 Rt_map *_lmp = fpavl_recorded(lml, name, hash, &where);
411 ASSERT(lml->lm_fpavl != NULL);
412 avl_insert(lml->lm_fpavl, fpnp, where);
798 call_fini(Lm_list *lml, Rt_map **tobj, Rt_map *clmp)
824 leave(lml, 0);
841 if ((lml->lm_tflags & LML_TFLG_NOAUDIT) == 0)
845 DBG_CALL(Dbg_bind_plt_summary(lml, M_MACH, pltcnt21d, pltcnt24d,
861 Lm_list *lml;
868 lml = &lml_main;
869 lml->lm_flags |= LML_FLG_ATEXIT;
870 lml->lm_flags &= ~LML_FLG_INTRPOSETSORT;
871 lmp = (Rt_map *)lml->lm_head;
876 if (((tobj = tsort(lmp, lml->lm_obj, RT_SORT_FWD)) != NULL) &&
878 call_fini(lml, tobj, NULL);
884 unused(lml);
889 for (APLIST_TRAVERSE(dynlm_list, idx, lml)) {
895 if ((lml->lm_flags & (LML_FLG_BASELM | LML_FLG_RTLDLM)) ||
896 (lml->lm_tflags & LML_TFLG_AUD_MASK) ||
897 ((lmp = (Rt_map *)lml->lm_head) == NULL))
900 lml->lm_flags |= LML_FLG_ATEXIT;
901 lml->lm_flags &= ~LML_FLG_INTRPOSETSORT;
906 if (((tobj = tsort(lmp, lml->lm_obj, RT_SORT_FWD)) != NULL) &&
908 call_fini(lml, tobj, NULL);
910 unused(lml);
920 lml = &lml_main;
921 lmp = (Rt_map *)lml->lm_head;
923 if ((lml->lm_tflags | AFLAGS(lmp)) & LML_TFLG_AUD_MASK) {
931 for (APLIST_TRAVERSE(dynlm_list, idx, lml)) {
937 if ((lml->lm_flags & (LML_FLG_BASELM | LML_FLG_RTLDLM)) ||
938 ((lml->lm_tflags & LML_TFLG_AUD_MASK) == 0) ||
939 ((lmp = (Rt_map *)lml->lm_head) == NULL))
942 lml->lm_flags |= LML_FLG_ATEXIT;
943 lml->lm_flags &= ~LML_FLG_INTRPOSETSORT;
948 if (((tobj = tsort(lmp, lml->lm_obj, RT_SORT_FWD)) != NULL) &&
950 call_fini(lml, tobj, NULL);
952 unused(lml);
959 lml = &lml_rtld;
960 lml->lm_flags |= LML_FLG_ATEXIT;
961 lml->lm_flags &= ~LML_FLG_INTRPOSETSORT;
962 lmp = (Rt_map *)lml->lm_head;
964 if (((tobj = tsort(lmp, lml->lm_obj, RT_SORT_FWD)) != NULL) &&
966 call_fini(lml, tobj, NULL);
1047 lm_append(Lm_list *lml, Aliste lmco, Rt_map *lmp)
1055 (lml->lm_obj)++;
1067 rd_event(lml, RD_DLACTIVITY, RT_ADD);
1070 lmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, lmco);
1158 lml->lm_flags |= LML_FLG_INTRPOSE;
1165 lml->lm_head = lmc->lc_head;
1166 lml->lm_tail = lmc->lc_tail;
1174 lm_delete(Lm_list *lml, Rt_map *lmp, Rt_map *clmp)
1190 rd_event(lml, RD_DLACTIVITY, RT_DELETE);
1201 lmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, CNTL(lmp));
1217 if (lmc == (Lm_cntl *)&lml->lm_lists->al_data) {
1218 lml->lm_head = lmc->lc_head;
1219 lml->lm_tail = lmc->lc_tail;
1225 (lml->lm_obj)--;
1235 lm_move(Lm_list *lml, Aliste nlmco, Aliste plmco, Lm_cntl *nlmc, Lm_cntl *plmc)
1246 rd_event(lml, RD_DLACTIVITY, RT_ADD);
1248 DBG_CALL(Dbg_file_cntl(lml, nlmco, plmco));
1263 lml->lm_init++;
1264 lml->lm_flags |= LML_FLG_OBJADDED;
1288 lml->lm_head = plmc->lc_head;
1289 lml->lm_tail = plmc->lc_tail;
1314 create_cntl(Lm_list *lml, int dlopen)
1320 if (dlopen || (lml->lm_head == NULL) ||
1321 (FLAGS(lml->lm_head) & FLG_RT_RELOCED)) {
1324 if ((lmc = alist_append(&lml->lm_lists, NULL, sizeof (Lm_cntl),
1328 return ((Aliste)((char *)lmc - (char *)lml->lm_lists));
2885 veprintf(Lm_list *lml, Error error, const char *format, va_list args)
3007 DBG_CALL(Dbg_util_str(lml, nextptr));
3029 DBG_CALL(Dbg_util_str(lml, str));
3066 eprintf(Lm_list *lml, Error error, const char *format, ...)
3071 veprintf(lml, error, format, args);
3105 rtldexit(Lm_list * lml, int status)
3135 leave(lml, 0);
3145 dz_map(Lm_list *lml, caddr_t addr, size_t len, int prot, int flags)
3152 eprintf(lml, ERR_FATAL, MSG_INTL(MSG_SYS_MMAPANON),
3162 nu_map(Lm_list *lml, caddr_t addr, size_t len, int prot, int flags)
3171 eprintf(lml, ERR_FATAL, MSG_INTL(MSG_SYS_OPEN),
3180 eprintf(lml, ERR_FATAL, MSG_INTL(MSG_SYS_MMAP),
3219 is_path_used(Lm_list *lml, Word unref, int *nl, Alist *alp, const char *obj)
3239 DBG_CALL(Dbg_util_nl(lml, DBG_NL_STD));
3240 DBG_CALL(Dbg_unused_path(lml, name, pdp->pd_flags,
3284 unused(Lm_list *lml)
3294 unref = lml->lm_flags & LML_FLG_TRC_UNREF;
3295 unuse = lml->lm_flags & LML_FLG_TRC_UNUSED;
3304 is_path_used(lml, unref, &nl, rpl_libdirs, config->c_name);
3306 is_path_used(lml, unref, &nl, prm_libdirs, config->c_name);
3309 lmp = lml->lm_head;
3311 is_path_used(lml, unref, &nl, RLIST(lmp), NAME(lmp));
3325 is_path_used(lml, unref, &nl, RLIST(lmp), NAME(lmp));
3351 DBG_CALL(Dbg_util_nl(lml,
3375 DBG_CALL(Dbg_util_nl(lml, DBG_NL_STD));
3382 DBG_CALL(Dbg_unused_file(lml, NAME(lmp), 0,
3389 DBG_CALL(Dbg_unused_file(lml, NAME(lmp), 0, 0));
3393 DBG_CALL(Dbg_util_nl(lml, DBG_NL_STD));
3402 leave(Lm_list *lml, int flags)
3407 rd_event(lml, RD_DLACTIVITY, RT_CONSISTENT);
3412 if (lml->lm_flags & LML_FLG_ACTAUDIT) {
3413 audit_activity(lml->lm_head, LA_ACT_CONSISTENT);
3414 lml->lm_flags &= ~LML_FLG_ACTAUDIT;
3442 if (lml->lm_flags & LML_FLG_HOLDLOCK)
3562 set_environ(Lm_list *lml)
3571 SLOOKUP_INIT(sl, MSG_ORIG(MSG_SYM_ENVIRON), lml->lm_head, lml->lm_head,
3575 if (LM_LOOKUP_SYM(lml->lm_head)(&sl, &sr, &binfo, 0)) {
3578 lml->lm_environ = (char ***)sr.sr_sym->st_value;
3581 lml->lm_environ =
3582 (char ***)((uintptr_t)lml->lm_environ +
3584 *(lml->lm_environ) = (char **)environ;
3585 lml->lm_flags |= LML_FLG_ENVIRON;