/illumos-gate/usr/src/cmd/sgs/rtld/common/ |
H A D | dlfcns.c | 418 Rt_map *dlmp = bdp->b_depend; in hdl_initialize() local 423 if (hdl_add(ghp, dlmp, in hdl_initialize() 427 (void) update_mode(dlmp, MODE(dlmp), mode); in hdl_initialize() 861 Rt_map *dlmp = NULL; in dlmopen_intn() local 939 dlmp = ghp->gh_ownlmp; in dlmopen_intn() 946 if (dlmp && (flags & FLG_RT_AUDIT) && (LIST(dlmp) != lml)) { in dlmopen_intn() 948 lml = LIST(dlmp); in dlmopen_intn() 965 load_completion(dlmp); in dlmopen_intn() 1224 dlsym_core(void *handle, const char *name, Rt_map *clmp, Rt_map **dlmp, in dlsym_core() argument 1382 *dlmp = sr.sr_dmap; in dlsym_core() [all …]
|
H A D | audit.c | 804 _audit_pltenter(APlist *list, Rt_map *rlmp, Rt_map *dlmp, Sym *sym, in _audit_pltenter() argument 811 const char *name = (const char *)(sym->st_name + STRTAB(dlmp)); in _audit_pltenter() 826 if ((dacp = _audit_client(AUDINFO(dlmp), almp)) == NULL) in _audit_pltenter() 855 audit_pltenter(Rt_map *rlmp, Rt_map *dlmp, Sym *sym, uint_t ndx, in audit_pltenter() argument 871 _audit_pltenter(auditors->ad_list, rlmp, dlmp, &nsym, in audit_pltenter() 875 _audit_pltenter(AUDITORS(rlmp)->ad_list, rlmp, dlmp, &nsym, in audit_pltenter() 890 _audit_pltexit(APlist *list, uintptr_t retval, Rt_map *rlmp, Rt_map *dlmp, in _audit_pltexit() argument 896 const char *name = (const char *)(sym->st_name + STRTAB(dlmp)); in _audit_pltexit() 911 if ((dacp = _audit_client(AUDINFO(dlmp), almp)) == NULL) in _audit_pltexit() 935 audit_pltexit(uintptr_t retval, Rt_map *rlmp, Rt_map *dlmp, Sym *sym, in audit_pltexit() argument [all …]
|
H A D | tsort.c | 308 _dep_visit(Lm_list *lml, int min, Rt_map *clmp, Rt_map *dlmp, uint_t bflags, in _dep_visit() argument 317 if (LIST(dlmp) != lml) in _dep_visit() 323 if ((_min = SORTVAL(dlmp)) == -1) { in _dep_visit() 329 if ((FLAGS(dlmp) & (FLG_RT_RELOCED | in _dep_visit() 337 if ((INIT(dlmp) == 0) && (INITARRAY(dlmp) == 0)) in _dep_visit() 345 if ((FLAGS(dlmp) & (FLG_RT_INITCLCT | in _dep_visit() 354 ((FLAGS(dlmp) & FLG_RT_DELETE) == 0)) in _dep_visit() 361 if ((FINI(dlmp) == 0) && (FINIARRAY(dlmp) == 0)) in _dep_visit() 368 if ((_min = dep_visit(lml, clmp, bflags, dlmp, in _dep_visit()
|
H A D | analyze.c | 238 are_bits_zero(Rt_map *dlmp, Sym *dsym, int dest) in are_bits_zero() argument 243 if ((FLAGS(dlmp) & FLG_RT_FIXED) == 0) in are_bits_zero() 244 daddr += ADDR(dlmp); in are_bits_zero() 251 if ((mpp = find_segment(daddr, dlmp)) == NULL) in are_bits_zero() 267 if ((FLAGS(dlmp) & FLG_RT_MOVE) == 0) in are_bits_zero() 2614 Rt_map *lmp, *clmp, *dlmp = srp->sr_dmap; in lookup_sym_interpose() local 2624 if (osym && (FLAGS1(dlmp) & FL1_RT_COPYTOOK)) { in lookup_sym_interpose() 2628 for (ALIST_TRAVERSE(COPY_R(dlmp), idx, rcp)) { in lookup_sym_interpose() 2646 clmp = dlmp; in lookup_sym_interpose() 2676 are_bits_zero(dlmp, osym, 0)) { in lookup_sym_interpose() [all …]
|
H A D | remove.c | 428 Rt_map *dlmp = bdp->b_depend; in remove_lists() local 433 (void) aplist_delete_value(CALLERS(dlmp), bdp); in remove_lists() 721 Rt_map *dlmp = bdp->b_depend; in remove_rescan() local 723 if (FLAGS(dlmp) & FLG_RT_DELETE) { in remove_rescan() 724 FLAGS(dlmp) &= ~FLG_RT_DELETE; in remove_rescan() 764 Rt_map *dlmp = gdp->gd_depend; in remove_rescan() local 766 if (FLAGS(dlmp) & FLG_RT_DELETE) { in remove_rescan() 767 FLAGS(dlmp) &= ~FLG_RT_DELETE; in remove_rescan() 1183 Rt_map *dlmp = bdp->b_depend; in remove_hdl() local 1198 if ((callable(lmp, dlmp, 0, 0) == 0) || in remove_hdl() [all …]
|
H A D | util.c | 618 is_dep_init(Rt_map *dlmp, Rt_map *clmp) in is_dep_init() argument 627 ((LIST(dlmp)->lm_tflags & LML_TFLG_NOAUDIT) == 0)) in is_dep_init() 630 if ((dlmp == clmp) || (rtld_flags & RT_FL_INITFIRST)) in is_dep_init() 633 (void) rt_mutex_lock(&dlmp->rt_lock); in is_dep_init() 634 while (dlmp->rt_init_thread != rt_thr_self() && (FLAGS(dlmp) & in is_dep_init() 637 leave(LIST(dlmp), 0); in is_dep_init() 638 (void) _lwp_cond_wait(&dlmp->rt_cv, (mutex_t *)&dlmp->rt_lock); in is_dep_init() 639 (void) rt_mutex_unlock(&dlmp->rt_lock); in is_dep_init() 641 (void) rt_mutex_lock(&dlmp->rt_lock); in is_dep_init() 643 (void) rt_mutex_unlock(&dlmp->rt_lock); in is_dep_init() [all …]
|
H A D | elf.c | 2385 Rt_map *dlmp, const void *dadd) argument 2393 rc.r_dlmp = dlmp; /* the defining link-map */ 2403 if (alist_append(©_R(dlmp), &rc, sizeof (Rel_copy), 2410 if (!(FLAGS1(dlmp) & FL1_RT_COPYTOOK)) { 2411 if (aplist_append(©_S(rlmp), dlmp, 2418 FLAGS1(dlmp) |= FL1_RT_COPYTOOK; 2433 NAME(dlmp), EC_XWORD(dsym->st_size)); 2436 NAME(dlmp)); 2445 NAME(dlmp));
|
/illumos-gate/usr/src/cmd/sgs/liblddbg/common/ |
H A D | util.c | 204 Dbg_util_edge_in(Lm_list *lml, Rt_map *clmp, uint_t flags, Rt_map *dlmp, in Dbg_util_edge_in() argument 228 dbg_print(lml, MSG_INTL(MSG_UTL_EDGE_START), ndx, NAME(dlmp)); in Dbg_util_edge_in() 230 dbg_print(lml, MSG_INTL(MSG_UTL_EDGE_IN), ndx, NAME(dlmp), in Dbg_util_edge_in() 237 Dbg_util_edge_out(Rt_map *clmp, Rt_map *dlmp) in Dbg_util_edge_out() argument 245 NAME(clmp), NAME(dlmp)); in Dbg_util_edge_out()
|
H A D | relocate.c | 121 Dbg_reloc_copy(Rt_map *dlmp, Rt_map *nlmp, const char *name, int zero) in Dbg_reloc_copy() argument 135 dbg_print(LIST(dlmp), MSG_INTL(MSG_REL_COPY), NAME(dlmp), NAME(nlmp), in Dbg_reloc_copy()
|
/illumos-gate/usr/src/cmd/sgs/librtld/common/ |
H A D | dynamic.c | 60 Rt_map *dlmp; in update_dynamic() local 73 if (dlmp = is_so_loaded(LIST(lmp), in update_dynamic() 79 if (dlmp != bdp->b_depend) in update_dynamic()
|
/illumos-gate/usr/src/cmd/sgs/rtld/i386/ |
H A D | i386_elf.c | 105 elf_plt_trace_write(uint_t roffset, Rt_map *rlmp, Rt_map *dlmp, Sym *sym, in elf_plt_trace_write() argument 164 *dyndata++ = (uintptr_t)dlmp; in elf_plt_trace_write() 169 symp->st_name += (Word)STRTAB(dlmp); in elf_plt_trace_write() 918 _elf_copy_reloc(const char *name, Rt_map *rlmp, Rt_map *dlmp) in _elf_copy_reloc() argument 942 SLOOKUP_INIT(sl, name, rlmp, dlmp, ld_entry_cnt, 0, 0, 0, 0, in _elf_copy_reloc()
|
H A D | boot_elf.S | 131 pushl DEFLMP_OFF(%edi) / arg1 (dlmp) 250 pushl DEFLMP_OFF(%edi) / arg2 (dlmp)
|
/illumos-gate/usr/src/cmd/sgs/link_audit/common/ |
H A D | bindings.c | 379 Link_map *dlmp = (Link_map *)*defcook; in la_sparcv9_pltenter() local 387 lib_name = dlmp->l_name; in la_sparcv9_pltenter()
|
/illumos-gate/usr/src/cmd/sgs/rtld/sparc/ |
H A D | sparc_elf.c | 238 elf_plt_trace_write(caddr_t addr, Rela *rptr, Rt_map *rlmp, Rt_map *dlmp, in elf_plt_trace_write() argument 318 *dyndata++ = (uintptr_t)dlmp; in elf_plt_trace_write() 323 symp->st_name += (Word)STRTAB(dlmp); in elf_plt_trace_write()
|
/illumos-gate/usr/src/cmd/sgs/rtld/amd64/ |
H A D | boot_elf.S | 420 movq DEFLMP_OFF(%r11), %rsi / arg2 (dlmp) 569 movq DEFLMP_OFF(%r11), %rdx / arg3 (dlmp)
|
H A D | amd64_elf.c | 125 elf_plt_trace_write(ulong_t roffset, Rt_map *rlmp, Rt_map *dlmp, Sym *sym, in elf_plt_trace_write() argument 184 *dyndata++ = (uintptr_t)dlmp; in elf_plt_trace_write()
|
/illumos-gate/usr/src/cmd/sgs/rtld/sparcv9/ |
H A D | sparc_elf.c | 386 elf_plt_trace_write(caddr_t addr, Rela *rptr, Rt_map *rlmp, Rt_map *dlmp, in elf_plt_trace_write() argument 441 *dyndata++ = (Addr)dlmp; in elf_plt_trace_write()
|