Lines Matching refs:ghp

128 hdl_add(Grp_hdl *ghp, Rt_map *lmp, uint_t dflags, int *alep)  in hdl_add()  argument
138 for (ALIST_TRAVERSE(ghp->gh_depends, idx, gdp)) { in hdl_add()
157 if (aplist_append(&GROUPS(lmp), ghp, AL_CNT_GROUPS) == NULL) in hdl_add()
163 if ((gdp = alist_append(&ghp->gh_depends, &gd, in hdl_add()
173 DBG_CALL(Dbg_file_hdl_action(ghp, lmp, DBG_DEP_ADD, in hdl_add()
176 DBG_CALL(Dbg_file_hdl_action(ghp, lmp, DBG_DEP_UPDATE, in hdl_add()
203 Grp_hdl *ghp = NULL, *aghp; in hdl_create() local
227 ghp = aghp; in hdl_create()
232 if (ghp == NULL) { in hdl_create()
241 if ((ghp = malloc(sizeof (Grp_hdl))) == NULL) in hdl_create()
248 if (aplist_append(alpp, ghp, AL_CNT_GROUPS) == NULL) { in hdl_create()
249 free(ghp); in hdl_create()
257 ndx = (uintptr_t)ghp % HDLIST_SZ; in hdl_create()
259 if (aplist_append(&hdl_alp[ndx], ghp, AL_CNT_HANDLES) == NULL) { in hdl_create()
260 (void) aplist_delete_value(*alpp, ghp); in hdl_create()
261 free(ghp); in hdl_create()
265 ghp->gh_depends = NULL; in hdl_create()
266 ghp->gh_refcnt = 1; in hdl_create()
267 ghp->gh_flags = hflags; in hdl_create()
278 ghp->gh_ownlmp = lml->lm_head; in hdl_create()
279 ghp->gh_ownlml = lml; in hdl_create()
281 ghp->gh_ownlmp = rlmp; in hdl_create()
282 ghp->gh_ownlml = LIST(rlmp); in hdl_create()
284 if (hdl_add(ghp, rlmp, rdflags, NULL) == NULL) in hdl_create()
292 return (ghp); in hdl_create()
317 if ((ghp->gh_refcnt++ == 0) && in hdl_create()
318 ((ghp->gh_flags & GPH_ZERO) == 0)) { in hdl_create()
322 ndx = (uintptr_t)ghp % HDLIST_SZ; in hdl_create()
324 (void) aplist_delete_value(hdl_alp[HDLIST_ORP], ghp); in hdl_create()
325 (void) aplist_append(&hdl_alp[ndx], ghp, in hdl_create()
333 for (ALIST_TRAVERSE(ghp->gh_depends, idx, gdp)) in hdl_create()
334 DBG_CALL(Dbg_file_hdl_action(ghp, in hdl_create()
347 ghp->gh_refcnt--; in hdl_create()
348 return (ghp); in hdl_create()
355 if (ghp->gh_flags & GPH_PRIVATE) { in hdl_create()
356 ghp->gh_refcnt = 1; in hdl_create()
357 ghp->gh_flags &= ~GPH_PRIVATE; in hdl_create()
358 ghp->gh_flags |= hflags; in hdl_create()
368 if (clmp && (hdl_add(ghp, clmp, cdflags, NULL) == NULL)) in hdl_create()
371 return (ghp); in hdl_create()
382 hdl_initialize(Grp_hdl *ghp, Rt_map *nlmp, int mode, int promote) in hdl_initialize() argument
396 if (((ghp->gh_flags & GPH_INITIAL) && (promote == 0)) || in hdl_initialize()
398 ghp->gh_flags |= GPH_INITIAL; in hdl_initialize()
403 for (ALIST_TRAVERSE(ghp->gh_depends, idx, gdp)) { in hdl_initialize()
422 if (hdl_add(ghp, dlmp, in hdl_initialize()
429 ghp->gh_flags |= GPH_INITIAL; in hdl_initialize()
437 hdl_validate(Grp_hdl *ghp) in hdl_validate() argument
444 ndx = (uintptr_t)ghp % HDLIST_SZ; in hdl_validate()
447 if ((lghp == ghp) && (ghp->gh_refcnt != 0)) in hdl_validate()
457 dlclose_core(Grp_hdl *ghp, Rt_map *clmp, Lm_list *lml) in dlclose_core() argument
472 if (ghp->gh_flags & GPH_ZERO) { in dlclose_core()
476 DBG_CALL(Dbg_dl_dlclose(clmp, NAME(ghp->gh_ownlmp), in dlclose_core()
483 if (--(ghp->gh_refcnt)) in dlclose_core()
490 if (ghp->gh_flags & GPH_ZERO) in dlclose_core()
504 if (((lmp = ghp->gh_ownlmp) != NULL) && in dlclose_core()
515 error = remove_hdl(ghp, clmp, NULL); in dlclose_core()
528 dlclose_intn(Grp_hdl *ghp, Rt_map *clmp) in dlclose_intn() argument
541 olml = ghp->gh_ownlml; in dlclose_intn()
543 error = dlclose_core(ghp, clmp, olml); in dlclose_intn()
571 Grp_hdl *ghp = (Grp_hdl *)handle; in dlclose_check() local
573 if (hdl_validate(ghp) == 0) { in dlclose_check()
576 (void) conv_invalid_val(&inv_buf, EC_NATPTR(ghp), 0); in dlclose_check()
583 return (dlclose_intn(ghp, clmp)); in dlclose_check()
645 Grp_hdl *ghp; in dlmopen_core() local
668 Grp_hdl *ghp; in dlmopen_core() local
709 if ((ghp = hdl_create(lml, 0, clmp, hflags, rdflags, in dlmopen_core()
723 return (ghp); in dlmopen_core()
737 return (ghp); in dlmopen_core()
768 &ghp, in_nfavl); in dlmopen_core()
800 ghp = NULL; in dlmopen_core()
819 return (ghp); in dlmopen_core()
861 Grp_hdl *ghp; in dlmopen_intn() local
909 ghp = dlmopen_core(lml, olml, path, mode, clmp, flags, orig, &in_nfavl); in dlmopen_intn()
917 if ((ghp == NULL) && in_nfavl) { in dlmopen_intn()
921 ghp = dlmopen_core(lml, olml, path, mode, clmp, flags, orig, in dlmopen_intn()
937 if (ghp && ((mode & RTLD_CONFGEN) == 0)) in dlmopen_intn()
938 dlmp = ghp->gh_ownlmp; in dlmopen_intn()
953 if ((ghp == NULL) && in dlmopen_intn()
966 return (ghp); in dlmopen_intn()
1020 Grp_hdl *ghp; in dlopen() local
1028 ghp = dlmopen_check(lml, path, mode, clmp); in dlopen()
1032 return ((void *)ghp); in dlopen()
1045 Grp_hdl *ghp; in dlmopen() local
1051 ghp = dlmopen_check((Lm_list *)lmid, path, mode, clmp); in dlmopen()
1055 return ((void *)ghp); in dlmopen()
1062 dlsym_handle(Grp_hdl *ghp, Slookup *slp, Sresult *srp, uint_t *binfo, in dlsym_handle() argument
1065 Rt_map *nlmp, * lmp = ghp->gh_ownlmp; in dlsym_handle()
1087 if (ghp->gh_flags & GPH_ZERO) { in dlsym_handle()
1101 if ((nlmp != lmp) && (ghp->gh_flags & GPH_FIRST)) in dlsym_handle()
1156 for (ALIST_TRAVERSE(ghp->gh_depends, idx, gdp)) { in dlsym_handle()
1166 if (ghp->gh_flags & GPH_FIRST) in dlsym_handle()
1184 for (ALIST_TRAVERSE(ghp->gh_depends, idx, gdp)) { in dlsym_handle()
1365 Grp_hdl *ghp = (Grp_hdl *)handle; in dlsym_core() local
1372 NAME(ghp->gh_ownlmp), DBG_DLSYM_DEF)); in dlsym_core()
1374 ret = LM_DLSYM(clmp)(ghp, &sl, &sr, &binfo, in_nfavl); in dlsym_core()
1432 Grp_hdl *ghp = (Grp_hdl *)handle; in dlsym_intn() local
1434 if (ghp->gh_ownlmp) in dlsym_intn()
1435 llmp = LIST(ghp->gh_ownlmp)->lm_tail; in dlsym_intn()
1437 for (ALIST_TRAVERSE(ghp->gh_depends, idx, gdp)) { in dlsym_intn()
1806 Grp_hdl *ghp = (Grp_hdl *)handle; in dlinfo_core() local
1808 if (hdl_validate(ghp)) in dlinfo_core()
1809 lmp = ghp->gh_ownlmp; in dlinfo_core()