Lines Matching refs:lml
105 analyze_lmc(Lm_list *lml, Aliste nlmco, Rt_map *nlmp, Rt_map *clmp, in analyze_lmc() argument
120 nlmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, nlmco); in analyze_lmc()
152 if ((olmp = elf_obj_fini(lml, lmp, clmp, in analyze_lmc()
154 if (lml->lm_flags & LML_FLG_TRC_ENABLE) in analyze_lmc()
183 if (LM_NEEDED(lmp)(lml, nlmco, lmp, in_nfavl) == 0) { in analyze_lmc()
184 if (lml->lm_flags & LML_FLG_TRC_ENABLE) in analyze_lmc()
211 nlmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, nlmco); in analyze_lmc()
219 nlmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, nlmco); in analyze_lmc()
287 relocate_so(Lm_list *lml, Rt_map *lmp, int *relocated, int now, int *in_nfavl) in relocate_so() argument
296 if (((lml->lm_flags & LML_FLG_TRC_ENABLE) == 0) || in relocate_so()
297 (lml->lm_flags & LML_FLG_TRC_WARN)) { in relocate_so()
303 ((lml->lm_flags & LML_FLG_TRC_ENABLE) == 0)) in relocate_so()
314 ((lml->lm_flags & LML_FLG_TRC_ENABLE) == 0)) in relocate_so()
338 _relocate_lmc(Lm_list *lml, Aliste lmco, Rt_map *nlmp, int *relocated, in _relocate_lmc() argument
361 if (relocate_so(lml, lmp, relocated, 0, in_nfavl) == 0) in _relocate_lmc()
383 lml->lm_init++; in _relocate_lmc()
384 lml->lm_flags |= LML_FLG_OBJADDED; in _relocate_lmc()
404 (((lml->lm_flags & LML_FLG_TRC_ENABLE) == 0) || in _relocate_lmc()
405 (lml->lm_flags & LML_FLG_TRC_WARN))) { in _relocate_lmc()
424 DBG_CALL(Dbg_util_nl(lml, DBG_NL_STD)); in _relocate_lmc()
456 DBG_CALL(Dbg_util_nl(lml, DBG_NL_STD)); in _relocate_lmc()
465 relocate_lmc(Lm_list *lml, Aliste nlmco, Rt_map *clmp, Rt_map *nlmp, in relocate_lmc() argument
482 nlmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, nlmco); in relocate_lmc()
522 lml->lm_flags |= LML_FLG_STARTREL; in relocate_lmc()
532 lret = _relocate_lmc(lml, nlmco, nlmp, &relocated, in_nfavl); in relocate_lmc()
534 remove_lmc(lml, clmp, nlmco, NAME(nlmp)); in relocate_lmc()
541 nlmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, nlmco); in relocate_lmc()
546 plmco = nlmco - lml->lm_lists->al_size; in relocate_lmc()
548 plmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, plmco); in relocate_lmc()
560 lm_move(lml, nlmco, plmco, nlmc, plmc); in relocate_lmc()
608 if (relocate_so(lml, lmp, 0, 1, in_nfavl) == 0) in relocate_lmc()
618 nlmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, nlmco); in relocate_lmc()
620 plmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, plmco); in relocate_lmc()
622 lm_move(lml, nlmco, plmco, nlmc, plmc); in relocate_lmc()
634 nlmc = (Lm_cntl *)alist_item_by_offset(lml->lm_lists, nlmco); in relocate_lmc()
784 is_so_loaded(Lm_list *lml, const char *name, int *in_nfavl) in is_so_loaded() argument
799 if (((lmp = fpavl_recorded(lml, name, hash, &where)) != NULL) && in is_so_loaded()
824 for (ALIST_TRAVERSE(lml->lm_lists, idx, lmc)) { in is_so_loaded()
911 Lm_list *lml = LIST(lmp); in update_mode() local
977 ((lml->lm_flags & LML_FLG_OBJADDED) || ((pmode & RTLD_NOW) && in update_mode()
1026 is_devinode_loaded(rtld_stat_t *status, Lm_list *lml, const char *name, in is_devinode_loaded() argument
1039 Lm_list *lml; in is_devinode_loaded() local
1041 for (APLIST_TRAVERSE(dynlm_list, idx, lml)) { in is_devinode_loaded()
1042 Rt_map *nlmp = lml->lm_head; in is_devinode_loaded()
1058 for (ALIST_TRAVERSE(lml->lm_lists, idx, lmc)) { in is_devinode_loaded()
1070 if (lml->lm_flags & LML_FLG_TRC_VERBOSE) { in is_devinode_loaded()
1096 file_notfound(Lm_list *lml, const char *name, Rt_map *clmp, uint_t flags, in file_notfound() argument
1105 if (lml->lm_flags & LML_FLG_TRC_ENABLE) { in file_notfound()
1111 ((lml->lm_flags & LML_FLG_TRC_VERBOSE) == 0)) in file_notfound()
1126 eprintf(lml, ERR_FATAL, MSG_INTL(err_reject[rej->rej_type]), in file_notfound()
1133 eprintf(lml, ERR_FATAL, MSG_INTL(MSG_SEC_OPEN), name); in file_notfound()
1135 eprintf(lml, ERR_FATAL, MSG_INTL(MSG_SYS_OPEN), name, in file_notfound()
1140 file_open(int err, Lm_list *lml, Rt_map *clmp, uint_t flags, Fdesc *fdp, in file_open() argument
1155 DBG_CALL(Dbg_file_config_obj(lml, oname, 0, nname)); in file_open()
1164 if ((nlmp = fpavl_recorded(lml, nname, hash, in file_open()
1209 DBG_CALL(Dbg_file_rejected(lml, rej, M_MACH)); in file_open()
1232 fpavl_recorded(lml, path, 0, 0)) != NULL) { in file_open()
1259 if (nlmp = is_devinode_loaded(&status, lml, nname, flags)) { in file_open()
1281 (fpavl_insert(lml, nlmp, in file_open()
1309 fdp->fd_ftp = map_obj(lml, fdp, status.st_size, nname, in file_open()
1343 DBG_CALL(Dbg_file_rejected(lml, rej, M_MACH)); in file_open()
1352 find_path(Lm_list *lml, Rt_map *clmp, uint_t flags, Fdesc *fdp, Rej_desc *rej, in find_path() argument
1380 (rtld_flags & RT_FL_OBJALT) && (lml == &lml_main)) { in find_path()
1392 DBG_CALL(Dbg_libs_found(lml, aname, in find_path()
1394 ret = file_open(0, lml, clmp, flags, fdp, in find_path()
1404 DBG_CALL(Dbg_libs_found(lml, oname, 0)); in find_path()
1406 return (file_open(err, lml, clmp, flags, fdp, rej, in_nfavl)); in find_path()
1413 _find_file(Lm_list *lml, Rt_map *clmp, uint_t flags, Fdesc *fdp, Rej_desc *rej, in _find_file() argument
1418 DBG_CALL(Dbg_libs_found(lml, nname, aflag)); in _find_file()
1419 if ((lml->lm_flags & LML_FLG_TRC_SEARCH) && in _find_file()
1430 if ((lml->lm_tflags | AFLAGS(clmp)) & LML_TFLG_AUD_OBJSEARCH) { in _find_file()
1435 DBG_CALL(Dbg_audit_terminate(lml, nname)); in _find_file()
1444 return (file_open(0, lml, clmp, flags, fdp, rej, in_nfavl)); in _find_file()
1448 find_file(Lm_list *lml, Rt_map *clmp, uint_t flags, Fdesc *fdp, Rej_desc *rej, in find_file() argument
1516 (lml == &lml_main)) { in find_file()
1528 ret = _find_file(lml, clmp, flags, fdp, in find_file()
1544 eprintf(lml, ERR_FATAL, MSG_INTL(MSG_SYS_OPEN), oname, in find_file()
1552 return (_find_file(lml, clmp, flags, fdp, rej, pdp, 0, in_nfavl)); in find_file()
1636 map_obj(Lm_list *lml, Fdesc *fdp, size_t fsize, const char *name, int fd, in map_obj() argument
1721 DBG_CALL(Dbg_file_mmapobj(lml, name, smpp, mapnum)); in map_obj()
1764 load_file(Lm_list *lml, Aliste lmco, Rt_map *clmp, Fdesc *fdp, int *in_nfavl) in load_file() argument
1814 if ((nlmp = elf_obj_file(lml, lmco, clmp, nname, hmpp, ompp, in load_file()
1833 if ((nlmp = ((fdp->fd_ftp)->fct_new_lmp)(lml, lmco, fdp, addr, in load_file()
1867 if ((NAME(nlmp)[0] == '/') && (fpavl_insert(lml, nlmp, NAME(nlmp), in load_file()
1869 remove_so(lml, nlmp, clmp); in load_file()
1873 (fpavl_insert(lml, nlmp, PATHNAME(nlmp), 0) == 0)) { in load_file()
1874 remove_so(lml, nlmp, clmp); in load_file()
1921 remove_so(lml, nlmp, clmp); in load_file()
1939 load_so(Lm_list *lml, Aliste lmco, Rt_map *clmp, uint_t flags, in load_so() argument
1995 (void) fpavl_recorded(lml, fdp->fd_nname, 0, in load_so()
2001 if (find_path(lml, clmp, flags, fdp, &_rej, in_nfavl) == 0) { in load_so()
2047 if (find_file(lml, clmp, flags, &fd, &_rej, pdp, in load_so()
2059 ((lml->lm_flags & LML_FLG_RTLDLM) == 0)) in load_so()
2083 return (is_so_loaded(lml, oname, in_nfavl)); in load_so()
2093 if (lml->lm_flags & LML_FLG_TRC_ENABLE) { in load_so()
2101 return (load_file(lml, lmco, clmp, fdp, in_nfavl)); in load_so()
2108 load_trace(Lm_list *lml, Pdesc *pdp, Rt_map *clmp, Fdesc *fdp) in load_trace() argument
2112 DBG_CALL(Dbg_libs_find(lml, name)); in load_trace()
2117 if ((lml->lm_flags & (LML_FLG_TRC_VERBOSE | LML_FLG_TRC_SEARCH)) && in load_trace()
2132 ((lml->lm_tflags | AFLAGS(clmp)) & LML_TFLG_AUD_ACTIVITY)) in load_trace()
2135 if ((lml->lm_tflags | AFLAGS(clmp)) & LML_TFLG_AUD_OBJSEARCH) { in load_trace()
2143 DBG_CALL(Dbg_audit_terminate(lml, name)); in load_trace()
2163 load_finish(Lm_list *lml, const char *name, Rt_map *clmp, int nmode, in load_finish() argument
2283 if ((ghp = hdl_create(lml, nlmp, clmp, hflags, rdflags, in load_finish()
2414 load_path(Lm_list *lml, Aliste lmco, Rt_map *clmp, int nmode, uint_t flags, in load_path() argument
2432 if ((nlmp = load_so(lml, lmco, clmp, flags, fdp, rej, in load_path()
2460 DBG_CALL(Dbg_file_rejected(lml, &_rej, M_MACH)); in load_path()
2462 remove_so(lml, nlmp, clmp); in load_path()
2471 if (nlmp = is_so_loaded(lml, name, in_nfavl)) { in load_path()
2472 if ((lml->lm_flags & LML_FLG_TRC_VERBOSE) && in load_path()
2494 DBG_CALL(Dbg_file_rejected(lml, &_rej, M_MACH)); in load_path()
2503 if (load_finish(lml, name, clmp, nmode, flags, hdl, nlmp) == 0) { in load_path()
2512 remove_so(lml, nlmp, clmp); in load_path()
2525 if ((lml->lm_tflags | AFLAGS(clmp) | AFLAGS(nlmp)) & in load_path()
2528 remove_so(lml, nlmp, clmp); in load_path()
2543 load_one(Lm_list *lml, Aliste lmco, Alist *palp, Rt_map *clmp, int mode, in load_one() argument
2559 lmp = load_cap(lml, lmco, pdp->pd_pname, clmp, in load_one()
2569 if (load_trace(lml, pdp, clmp, &fd) == NULL) in load_one()
2575 lmp = load_path(lml, lmco, clmp, mode, flags, hdl, &fd, in load_one()
2592 file_notfound(lml, name, clmp, flags, &rej); in load_one()
2627 Lm_list *lml; in lookup_sym_interpose() local
2660 lml = LIST(clmp); in lookup_sym_interpose()
2661 lmp = lml->lm_head; in lookup_sym_interpose()
2718 if ((lml->lm_flags & LML_FLG_INTRPOSE) == 0) in lookup_sym_interpose()
2728 lmp = lml->lm_head; in lookup_sym_interpose()
2953 Lm_list *lml = LIST(clmp); in _lookup_sym() local
2989 if ((lml->lm_flags & LML_FLG_TRC_WARN) && in _lookup_sym()
3023 (((lml->lm_tflags & LML_TFLG_NODIRECT) == 0) && in _lookup_sym()
3100 for (ALIST_TRAVERSE_BY_OFFSET(lml->lm_lists, off, lmc)) { in _lookup_sym()
3129 lml = LIST(lmp); in _lookup_sym()
3130 if ((sl.sl_flags & LKUP_WEAK) || (lml->lm_lazy == 0)) in _lookup_sym()
3133 DBG_CALL(Dbg_syms_lazy_rescan(lml, name)); in _lookup_sym()
3147 for (ALIST_TRAVERSE(lml->lm_lists, idx, lmc)) { in _lookup_sym()