Lines Matching defs:lmp
380 fpavl_insert(Lm_list *lml, Rt_map *lmp, const char *name, avl_index_t where)
404 fpnp->fpn_lmp = lmp;
406 if (aplist_append(&FPNODE(lmp), fpnp, AL_CNT_FPNODE) == NULL) {
420 fpavl_remove(Rt_map *lmp)
425 for (APLIST_TRAVERSE(FPNODE(lmp), idx, fpnp)) {
426 avl_remove(LIST(lmp)->lm_fpavl, fpnp);
429 free(FPNODE(lmp));
430 FPNODE(lmp) = NULL;
656 call_array(Addr *array, uint_t arraysz, Rt_map *lmp, Word shtype)
684 DBG_CALL(Dbg_util_call_array(lmp, (void *)fptr, ndx, shtype));
687 leave(LIST(lmp), 0);
695 * Execute any .init sections. These are passed to us in an lmp array which
719 Rt_map *lmp = *_tobj;
720 void (*iptr)() = INIT(lmp);
722 if (FLAGS(lmp) & FLG_RT_INITCALL)
725 FLAGS(lmp) |= FLG_RT_INITCALL;
726 lmp->rt_init_thread = rt_thr_self();
733 if (FLAGS(lmp) & FLG_RT_INITFRST)
736 if (INITARRAY(lmp) || iptr)
737 DBG_CALL(Dbg_util_call_init(lmp, flag));
743 leave(LIST(lmp), 0);
749 call_array(INITARRAY(lmp), INITARRAYSZ(lmp), lmp,
752 if (INITARRAY(lmp) || iptr)
753 DBG_CALL(Dbg_util_call_init(lmp, DBG_INIT_DONE));
762 (void) rt_mutex_lock(&lmp->rt_lock);
763 FLAGS(lmp) |= FLG_RT_INITDONE;
764 lmp->rt_init_thread = (thread_t)0;
765 (void) _lwp_cond_broadcast(&lmp->rt_cv);
766 (void) rt_mutex_unlock(&lmp->rt_lock);
767 SORTVAL(lmp) = -1;
803 Rt_map *lmp = *_tobj;
811 if (FLAGS(lmp) & FLG_RT_INITDONE) {
812 void (*fptr)(void) = FINI(lmp);
814 if (FINIARRAY(lmp) || fptr)
815 DBG_CALL(Dbg_util_call_fini(lmp));
817 call_array(FINIARRAY(lmp), FINIARRAYSZ(lmp), lmp,
834 if (FLAGS(lmp) & FLG_RT_ISMAIN)
842 audit_objclose(lmp, clmp);
860 Rt_map **tobj, *lmp;
871 lmp = (Rt_map *)lml->lm_head;
876 if (((tobj = tsort(lmp, lml->lm_obj, RT_SORT_FWD)) != NULL) &&
897 ((lmp = (Rt_map *)lml->lm_head) == NULL))
906 if (((tobj = tsort(lmp, lml->lm_obj, RT_SORT_FWD)) != NULL) &&
921 lmp = (Rt_map *)lml->lm_head;
923 if ((lml->lm_tflags | AFLAGS(lmp)) & LML_TFLG_AUD_MASK) {
924 audit_objclose((Rt_map *)lml_rtld.lm_head, lmp);
925 audit_objclose(lmp, lmp);
939 ((lmp = (Rt_map *)lml->lm_head) == NULL))
948 if (((tobj = tsort(lmp, lml->lm_obj, RT_SORT_FWD)) != NULL) &&
962 lmp = (Rt_map *)lml->lm_head;
964 if (((tobj = tsort(lmp, lml->lm_obj, RT_SORT_FWD)) != NULL) &&
1027 Rt_map *lmp;
1029 for (lmp = nlmp; lmp; lmp = NEXT_RT_MAP(lmp)) {
1030 if (PTTLS(lmp) && PTTLS(lmp)->p_memsz)
1031 tls_modaddrem(lmp, TM_FLG_MODADD);
1047 lm_append(Lm_list *lml, Aliste lmco, Rt_map *lmp)
1084 lmc->lc_head = lmc->lc_tail = lmp;
1087 } else if (FLAGS(lmp) & FLG_RT_OBJINTPO) {
1122 NEXT(PREV_RT_MAP(tlmp)) = (Link_map *)lmp;
1123 PREV(lmp) = PREV(tlmp);
1125 NEXT(lmp) = (Link_map *)tlmp;
1126 PREV(tlmp) = (Link_map *)lmp;
1140 NEXT(lmc->lc_tail) = (Link_map *)lmp;
1141 PREV(lmp) = (Link_map *)lmc->lc_tail;
1142 lmc->lc_tail = lmp;
1150 CNTL(lmp) = lmco;
1157 if (FLAGS(lmp) & MSK_RT_INTPOSE)
1174 lm_delete(Lm_list *lml, Rt_map *lmp, Rt_map *clmp)
1182 if (CNTL(lmp) == 0)
1189 if (CNTL(lmp) == ALIST_OFF_DATA)
1201 lmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, CNTL(lmp));
1203 if (lmc->lc_head == lmp)
1204 lmc->lc_head = NEXT_RT_MAP(lmp);
1206 NEXT(PREV_RT_MAP(lmp)) = (void *)NEXT(lmp);
1208 if (lmc->lc_tail == lmp)
1209 lmc->lc_tail = PREV_RT_MAP(lmp);
1211 PREV(NEXT_RT_MAP(lmp)) = PREV(lmp);
1237 Rt_map *lmp;
1254 for (lmp = nlmc->lc_head; lmp; lmp = NEXT_RT_MAP(lmp)) {
1255 CNTL(lmp) = plmco;
2973 Rt_map *dlmp, *lmp = lml_rtld.lm_head;
2975 if (NEXT(lmp) && (elfeno == 0)) {
2978 lmp, &dlmp)) == NULL) ||
2980 MSG_ORIG(MSG_SYM_ELFERRNO), lmp, &dlmp)) == NULL))
3286 Rt_map *lmp;
3309 lmp = lml->lm_head;
3310 if (RLIST(lmp))
3311 is_path_used(lml, unref, &nl, RLIST(lmp), NAME(lmp));
3319 for (lmp = NEXT_RT_MAP(lmp); lmp; lmp = NEXT_RT_MAP(lmp)) {
3324 if (RLIST(lmp))
3325 is_path_used(lml, unref, &nl, RLIST(lmp), NAME(lmp));
3336 for (APLIST_TRAVERSE(CALLERS(lmp), idx, bdp)) {
3357 NAME(lmp), NAME(clmp));
3359 DBG_CALL(Dbg_unused_unref(lmp, NAME(clmp)));
3368 if (FLAGS1(lmp) & FL1_RT_USED)
3377 if (CYCGROUP(lmp)) {
3380 NAME(lmp), CYCGROUP(lmp));
3382 DBG_CALL(Dbg_unused_file(lml, NAME(lmp), 0,
3383 CYCGROUP(lmp)));
3387 NAME(lmp));
3389 DBG_CALL(Dbg_unused_file(lml, NAME(lmp), 0, 0));