Lines Matching refs:adp

189 	Ar_desc *	adp;  in ld_ar_setup()  local
212 if ((adp = libld_malloc(sizeof (Ar_desc))) == NULL) in ld_ar_setup()
214 adp->ad_name = name; in ld_ar_setup()
215 adp->ad_elf = elf; in ld_ar_setup()
216 adp->ad_start = start; in ld_ar_setup()
217 adp->ad_allextract = FALSE; in ld_ar_setup()
219 adp->ad_aux = libld_calloc(number, sizeof (Ar_aux)); in ld_ar_setup()
220 if (adp->ad_aux == NULL) in ld_ar_setup()
223 adp->ad_aux = NULL; in ld_ar_setup()
230 adp->ad_flags = ofl->ofl_flags1 & MSK_OF1_ARCHIVE; in ld_ar_setup()
237 if (aplist_append(&ofl->ofl_ars, adp, AL_CNT_OFL_LIBS) == NULL) in ld_ar_setup()
240 return (adp); in ld_ar_setup()
270 ld_ar_member(Ar_desc * adp, Elf_Arsym * arsym, Ar_aux * aup, Ar_mem * amp) in ld_ar_member() argument
276 if (adp->ad_start == NULL) in ld_ar_member()
288 if (_arsym != adp->ad_start) { in ld_ar_member()
295 } while (_arsym != adp->ad_start); in ld_ar_member()
379 ar_input(int fd, Ar_desc *adp, Ofl_desc *ofl, Elf *arelf, in ar_input() argument
410 adp->ad_flags |= FLG_ARD_EXTRACT; in ar_input()
454 ar_extract_bysym(const char *name, int fd, Ar_desc *adp, in ar_extract_bysym() argument
473 if (adp->ad_start == NULL) { in ar_extract_bysym()
474 assert(adp->ad_start != NULL); in ar_extract_bysym()
490 for (arsym = adp->ad_start, aup = adp->ad_aux; arsym->as_name; in ar_extract_bysym()
587 if (elf_rand(adp->ad_elf, arsym->as_off) != in ar_extract_bysym()
597 adp->ad_elf)) == NULL) { in ar_extract_bysym()
620 &arelf, adp->ad_elf, arsym->as_off, in ar_extract_bysym()
673 ld_ar_member(adp, arsym, in ar_extract_bysym()
685 switch (ar_input(fd, adp, ofl, arelf, arpath, in ar_extract_bysym()
694 ld_ar_member(adp, arsym, aup, FLG_ARMEM_PROC); in ar_extract_bysym()
705 ld_ar_member(adp, arsym, aup, FLG_ARMEM_PROC); in ar_extract_bysym()
731 ar_extract_all(const char *name, int fd, Ar_desc *adp, Ofl_desc *ofl, in ar_extract_all() argument
741 while ((arelf = elf_begin(fd, cmd, adp->ad_elf)) != NULL) { in ar_extract_all()
774 next_off = _elf_getnextoff(adp->ad_elf); in ar_extract_all()
785 (FLG_IF_EXTRACT | FLG_IF_NEEDED), &arelf, adp->ad_elf, in ar_extract_all()
787 (void) elf_rand(adp->ad_elf, next_off); in ar_extract_all()
792 switch (ar_input(fd, adp, ofl, arelf, arpath, rej)) { in ar_extract_all()
806 adp->ad_allextract = TRUE; in ar_extract_all()
826 ld_process_archive(const char *name, int fd, Ar_desc *adp, Ofl_desc *ofl) in ld_process_archive() argument
847 if (adp->ad_allextract == TRUE) in ld_process_archive()
851 if (!ar_extract_all(name, fd, adp, ofl, &found, &rej)) in ld_process_archive()
854 if (!ar_extract_bysym(name, fd, adp, ofl, &found, &rej)) in ld_process_archive()