Lines Matching refs:sdp

172 	Sym_desc	*sdp;  in update_osym()  local
638 sdp = ifl->ifl_oldndx[lndx]; in update_osym()
639 sym = sdp->sd_sym; in update_osym()
645 (*ld_targ.t_mr.mr_assign_got)(ofl, sdp) == S_ERROR) in update_osym()
651 for (ALIST_TRAVERSE(sdp->sd_GOTndxs, in update_osym()
653 gottable->gt_sym = sdp; in update_osym()
671 if (sdp->sd_flags & FLG_SY_INVALID) in update_osym()
679 if (sdp->sd_flags & FLG_SY_ISDISC) in update_osym()
693 if (ifl != sdp->sd_file) in update_osym()
704 sdp->sd_move); in update_osym()
705 enter_in_ldynsym = ldynsym && sdp->sd_name && in update_osym()
712 sdp->sd_symndx = *symndx; in update_osym()
719 if (((sdp->sd_flags & FLG_SY_REGSYM) == 0) || in update_osym()
722 sdp->sd_name, &stoff); in update_osym()
725 sdp->sd_flags &= ~FLG_SY_CLEAN; in update_osym()
728 sdp->sd_sym = sym = &symtab[symtab_ndx++]; in update_osym()
730 if ((sdp->sd_flags & FLG_SY_SPECSEC) && in update_osym()
740 (void) st_setstring(dynstr, sdp->sd_name, in update_osym()
744 sdp->sd_flags &= ~FLG_SY_CLEAN; in update_osym()
747 sdp->sd_sym = sym = &ldynsym[ldynsym_ndx]; in update_osym()
749 ADD_TO_DYNSORT(sdp, sym, type, ldynsym_ndx); in update_osym()
757 if (!(sdp->sd_flags & FLG_SY_UPREQD) && in update_osym()
758 !(sdp->sd_move)) in update_osym()
760 if ((sdp->sd_flags & FLG_SY_SPECSEC) && in update_osym()
764 if (ld_sym_copy(sdp) == S_ERROR) in update_osym()
766 sym = sdp->sd_sym; in update_osym()
774 sdp->sd_shndx = sym->st_shndx = SHN_ABS; in update_osym()
775 sdp->sd_flags |= FLG_SY_SPECSEC; in update_osym()
784 (sdp->sd_flags & FLG_SY_PAREXPN) && !update_done) { in update_osym()
786 sdp->sd_isc = ofl->ofl_isparexpn; in update_osym()
797 if (((isc = sdp->sd_isc) != NULL) && !update_done) { in update_osym()
817 if ((sdp->sd_shndx = sectndx = in update_osym()
838 (void) st_setstring(dynstr, sdp->sd_name, in update_osym()
846 ADD_TO_DYNSORT(sdp, sym, type, ldynsym_ndx); in update_osym()
866 sdp = csp->cs_sdp; in update_osym()
867 sym = sdp->sd_sym; in update_osym()
869 if ((isp = sdp->sd_isc) != NULL) { in update_osym()
885 sdp->sd_shndx = sym->st_shndx = in update_osym()
890 (void) st_setstring(strtab, sdp->sd_name, in update_osym()
893 sdp->sd_symndx = symtab_ndx++; in update_osym()
915 if (((sdp = ld_sym_find(MSG_ORIG(MSG_SYM_INIT_U), SYM_NOHASH, 0, in update_osym()
916 ofl)) != NULL) && (sdp->sd_ref == REF_REL_NEED) && sdp->sd_isc && in update_osym()
917 (sdp->sd_isc->is_osdesc == iosp)) { in update_osym()
918 if (ld_sym_copy(sdp) == S_ERROR) in update_osym()
920 sdp->sd_sym->st_size = sdp->sd_isc->is_osdesc->os_shdr->sh_size; in update_osym()
927 if (((sdp = ld_sym_find(MSG_ORIG(MSG_SYM_FINI_U), SYM_NOHASH, 0, in update_osym()
928 ofl)) != NULL) && (sdp->sd_ref == REF_REL_NEED) && sdp->sd_isc && in update_osym()
929 (sdp->sd_isc->is_osdesc == fosp)) { in update_osym()
930 if (ld_sym_copy(sdp) == S_ERROR) in update_osym()
932 sdp->sd_sym->st_size = sdp->sd_isc->is_osdesc->os_shdr->sh_size; in update_osym()
997 sdp = sav->sav_sdp; in update_osym()
1004 if (sdp->sd_flags & FLG_SY_INVALID) { in update_osym()
1005 DBG_CALL(Dbg_syms_old(ofl, sdp)); in update_osym()
1006 DBG_CALL(Dbg_syms_ignore(ofl, sdp)); in update_osym()
1013 if (sdp->sd_ref == REF_DYN_SEEN) in update_osym()
1016 if (SYM_IS_HIDDEN(sdp) && (flags & FLG_OF_PROCRED)) in update_osym()
1022 sorted_syms[scndx++].sl_sdp = sdp; in update_osym()
1024 sorted_syms[ssndx].sl_hval = sdp->sd_aux->sa_hash % in update_osym()
1026 sorted_syms[ssndx].sl_sdp = sdp; in update_osym()
1042 symptr = sdp->sd_sym; in update_osym()
1044 if ((sdp->sd_flags & FLG_SY_PAREXPN) || in update_osym()
1045 ((sdp->sd_flags & FLG_SY_SPECSEC) && in update_osym()
1046 (sdp->sd_shndx = symptr->st_shndx) == SHN_COMMON)) { in update_osym()
1054 if (sdp->sd_flags & FLG_SY_PAREXPN) { in update_osym()
1056 sdp->sd_shndx = parexpnndx; in update_osym()
1057 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1062 sdp->sd_isc = ofl->ofl_isparexpn; in update_osym()
1063 sdp->sd_flags |= FLG_SY_COMMEXP; in update_osym()
1068 sdp->sd_shndx = bssndx; in update_osym()
1069 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1073 sdp->sd_isc = ofl->ofl_isbss; in update_osym()
1074 sdp->sd_flags |= FLG_SY_COMMEXP; in update_osym()
1079 sdp->sd_shndx = tlsbssndx; in update_osym()
1080 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1084 sdp->sd_isc = ofl->ofl_istlsbss; in update_osym()
1085 sdp->sd_flags |= FLG_SY_COMMEXP; in update_osym()
1093 (sdp->sd_flags & FLG_SY_SPECSEC) && in update_osym()
1094 ((sdp->sd_shndx = symptr->st_shndx) == in update_osym()
1098 sdp->sd_shndx = lbssndx; in update_osym()
1099 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1103 sdp->sd_isc = ofl->ofl_islbss; in update_osym()
1104 sdp->sd_flags |= FLG_SY_COMMEXP; in update_osym()
1117 if (sdp->sd_flags & FLG_SY_GLOBREF) in update_osym()
1138 sdp = csp->cs_sdp; in update_osym()
1141 sdp->sd_name)); in update_osym()
1142 DBG_CALL(Dbg_syms_entered(ofl, sdp->sd_sym, in update_osym()
1143 sdp)); in update_osym()
1145 dynsym[dynsym_ndx] = *sdp->sd_sym; in update_osym()
1147 (void) st_setstring(dynstr, sdp->sd_name, in update_osym()
1151 sdp->sd_sym = &dynsym[dynsym_ndx]; in update_osym()
1152 sdp->sd_symndx = dynsym_ndx; in update_osym()
1188 sdp = sorted_syms[ssndx].sl_sdp; in update_osym()
1200 (*ld_targ.t_mr.mr_assign_got)(ofl, sdp) == S_ERROR) in update_osym()
1206 for (ALIST_TRAVERSE(sdp->sd_GOTndxs, idx2, gnp)) { in update_osym()
1207 gottable->gt_sym = sdp; in update_osym()
1213 if (sdp->sd_aux && sdp->sd_aux->sa_PLTGOTndx) { in update_osym()
1214 gottable->gt_sym = sdp; in update_osym()
1216 sdp->sd_aux->sa_PLTGOTndx; in update_osym()
1227 if (SYM_IS_HIDDEN(sdp) && (flags & FLG_OF_PROCRED)) { in update_osym()
1229 if (!(sdp->sd_flags & FLG_SY_ELIM) && !dynsym) in update_osym()
1230 sdp->sd_symndx = scopesym_ndx; in update_osym()
1232 sdp->sd_symndx = 0; in update_osym()
1234 if (sdp->sd_flags & FLG_SY_ELIM) { in update_osym()
1236 } else if (ldynsym && sdp->sd_sym->st_name && in update_osym()
1238 ELF_ST_TYPE(sdp->sd_sym->st_info)]) { in update_osym()
1242 sdp->sd_symndx = *symndx; in update_osym()
1248 name = sdp->sd_name; in update_osym()
1249 sap = sdp->sd_aux; in update_osym()
1259 if (sdp->sd_symndx && versym) { in update_osym()
1262 if (sdp->sd_flags & FLG_SY_MVTOCOMM) { in update_osym()
1264 } else if (sdp->sd_ref == REF_REL_NEED) { in update_osym()
1268 (sdp->sd_sym->st_shndx != SHN_UNDEF)) { in update_osym()
1269 if (SYM_IS_HIDDEN(sdp)) in update_osym()
1274 } else if ((sdp->sd_ref == REF_DYN_NEED) && in update_osym()
1276 (sap->sa_dverndx <= sdp->sd_file->ifl_vercnt) && in update_osym()
1277 (sdp->sd_file->ifl_verndx != NULL)) { in update_osym()
1279 vndx = sdp->sd_file->ifl_verndx in update_osym()
1282 versym[sdp->sd_symndx] = vndx; in update_osym()
1289 if (sdp->sd_symndx && syminfo && in update_osym()
1290 !(sdp->sd_flags & FLG_SY_NOTAVAIL)) { in update_osym()
1291 int ndx = sdp->sd_symndx; in update_osym()
1294 if (sdp->sd_flags & FLG_SY_MVTOCOMM) in update_osym()
1300 if (sdp->sd_ref == REF_DYN_NEED) { in update_osym()
1308 if (aplist_append(alpp, sdp, in update_osym()
1322 if (sdp->sd_flags & FLG_SY_LAZYLD) in update_osym()
1325 if (sdp->sd_flags & FLG_SY_DEFERRED) in update_osym()
1342 if (sdp->sd_flags & FLG_SY_DIR) in update_osym()
1346 } else if ((sdp->sd_flags & FLG_SY_EXTERN) && in update_osym()
1347 (sdp->sd_sym->st_shndx == SHN_UNDEF)) { in update_osym()
1355 } else if ((sdp->sd_flags & FLG_SY_PARENT) && in update_osym()
1356 (sdp->sd_sym->st_shndx == SHN_UNDEF)) { in update_osym()
1365 if (sdp->sd_flags & FLG_SY_DIR) in update_osym()
1369 } else if (sdp->sd_flags & FLG_SY_STDFLTR) { in update_osym()
1376 if (sdp->sd_flags & FLG_SY_NDIR) in update_osym()
1380 } else if (sdp->sd_flags & FLG_SY_AUXFLTR) { in update_osym()
1389 if (sdp->sd_flags & FLG_SY_NDIR) in update_osym()
1393 } else if ((sdp->sd_ref == REF_REL_NEED) && in update_osym()
1394 (sdp->sd_sym->st_shndx != SHN_UNDEF)) { in update_osym()
1406 if (sdp->sd_flags & FLG_SY_NDIR) { in update_osym()
1415 if (sdp->sd_flags & FLG_SY_INTPOSE) { in update_osym()
1425 if (sdp->sd_flags & FLG_SY_DEFERRED) { in update_osym()
1435 if ((sdp->sd_flags & FLG_SY_NDIR) == 0) { in update_osym()
1439 if (sdp->sd_flags & FLG_SY_DIR) in update_osym()
1459 if ((sdp->sd_flags & FLG_SY_CAP) && in update_osym()
1485 symtab[_symndx] = *sdp->sd_sym; in update_osym()
1486 sdp->sd_sym = sym = &symtab[_symndx]; in update_osym()
1491 ldynsym[ldynscopesym_ndx] = *sdp->sd_sym; in update_osym()
1492 sdp->sd_sym = sym = &ldynsym[ldynscopesym_ndx]; in update_osym()
1496 ADD_TO_DYNSORT(sdp, sym, ELF_ST_TYPE(sym->st_info), in update_osym()
1501 dynsym[dynsym_ndx] = *sdp->sd_sym; in update_osym()
1507 if (((sdp->sd_flags & FLG_SY_REGSYM) == 0) || in update_osym()
1525 sdp->sd_symndx; in update_osym()
1528 sdp->sd_symndx; in update_osym()
1532 sdp->sd_sym = sym = &dynsym[dynsym_ndx]; in update_osym()
1541 ADD_TO_DYNSORT(sdp, sym, ELF_ST_TYPE(sym->st_info), in update_osym()
1546 if (!(sdp->sd_flags & FLG_SY_UPREQD)) in update_osym()
1548 sym = sdp->sd_sym; in update_osym()
1550 sdp->sd_flags &= ~FLG_SY_CLEAN; in update_osym()
1566 _sdp = sdp->sd_file->ifl_oldndx[sap->sa_linkndx]; in update_osym()
1597 wk.wk_weak = sdp; in update_osym()
1608 DBG_CALL(Dbg_syms_old(ofl, sdp)); in update_osym()
1614 sectndx = sdp->sd_shndx; in update_osym()
1616 if (((sdp->sd_flags & FLG_SY_REGSYM) == 0) && in update_osym()
1620 demangle(name), sdp->sd_file->ifl_name); in update_osym()
1634 sdp->sd_flags |= FLG_SY_SPECSEC; in update_osym()
1635 sdp->sd_shndx = sectndx = SHN_ABS; in update_osym()
1637 } else if ((sdp->sd_flags & FLG_SY_SPECSEC) && in update_osym()
1643 if ((sdp->sd_flags & FLG_SY_SPECSEC) && in update_osym()
1645 spec = sdp->sd_aux->sa_symspec; in update_osym()
1648 if (sdp->sd_flags & FLG_SY_COMMEXP) { in update_osym()
1655 } else if (sdp->sd_ref == REF_DYN_NEED) { in update_osym()
1668 if (sdp->sd_flags & FLG_SY_GLOBREF) in update_osym()
1675 } else if (((sdp->sd_flags & FLG_SY_SPECSEC) == 0) && in update_osym()
1676 (sdp->sd_ref == REF_REL_NEED)) { in update_osym()
1677 osp = sdp->sd_isc->is_osdesc; in update_osym()
1691 (Off)_elf_getxoff(sdp->sd_isc->is_indata); in update_osym()
1713 sdp->sd_flags |= FLG_SY_SPECSEC; in update_osym()
1715 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1721 sdp->sd_flags |= FLG_SY_SPECSEC; in update_osym()
1723 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1729 sdp->sd_flags |= FLG_SY_SPECSEC; in update_osym()
1731 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1736 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1745 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1755 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1769 sdp->sd_flags &= ~FLG_SY_SPECSEC; in update_osym()
1782 (sdp->sd_file) && in update_osym()
1783 (sdp->sd_file->ifl_ehdr->e_type == ET_DYN) && in update_osym()
1788 (*ld_targ.t_mr.mr_calc_plt_addr)(sdp, ofl); in update_osym()
1808 sdp->sd_shndx = sectndx; in update_osym()
1825 if (((sdp->sd_flags & FLG_SY_SPECSEC) == 0) && in update_osym()
1855 if (((sdp->sd_flags & FLG_SY_SPECSEC) == 0) && in update_osym()
1866 DBG_CALL(Dbg_syms_new(ofl, sym, sdp)); in update_osym()
1876 Sym_desc *sdp, *_sdp; in update_osym() local
1880 sdp = wkp->wk_weak; in update_osym()
1884 sdp->sd_flags |= FLG_SY_WEAKDEF; in update_osym()
1891 if (SYM_IS_HIDDEN(sdp)) { in update_osym()
1896 } else if ((sdp->sd_ref == REF_DYN_NEED) && in update_osym()
1897 (sdp->sd_flags & FLG_SY_GLOBREF)) in update_osym()
1902 DBG_CALL(Dbg_syms_old(ofl, sdp)); in update_osym()
1921 DBG_CALL(Dbg_syms_new(ofl, __sym, sdp)); in update_osym()
2069 Sym_desc *sdp; in update_odynamic() local
2156 if (((sdp = ld_sym_find(MSG_ORIG(MSG_SYM_INIT_U), in update_odynamic()
2158 (sdp->sd_ref == REF_REL_NEED) && in update_odynamic()
2159 (sdp->sd_sym->st_shndx != SHN_UNDEF)) { in update_odynamic()
2161 dyn->d_un.d_ptr = sdp->sd_sym->st_value; in update_odynamic()
2164 if (((sdp = ld_sym_find(MSG_ORIG(MSG_SYM_FINI_U), in update_odynamic()
2166 (sdp->sd_ref == REF_REL_NEED) && in update_odynamic()
2167 (sdp->sd_sym->st_shndx != SHN_UNDEF)) { in update_odynamic()
2169 dyn->d_un.d_ptr = sdp->sd_sym->st_value; in update_odynamic()
2490 if ((sdp = ofl->ofl_regsyms[ndx]) == NULL) in update_odynamic()
2494 dyn->d_un.d_val = sdp->sd_symndx; in update_odynamic()
2499 for (APLIST_TRAVERSE(ofl->ofl_rtldinfo, idx, sdp)) { in update_odynamic()
2501 dyn->d_un.d_ptr = sdp->sd_sym->st_value; in update_odynamic()
2624 Sym_desc *sdp; in update_overdef() local
2639 sdp = ld_sym_find(vdp->vd_name, vdp->vd_hash, 0, ofl); in update_overdef()
2642 (uintptr_t)sdp->sd_sym->st_name; in update_overdef()
2877 Sym_desc *sdp; in update_osyminfo() local
2898 for (APLIST_TRAVERSE(ofl->ofl_symdtent, idx, sdp)) in update_osyminfo()
2899 sip[sdp->sd_symndx].si_boundto = sdp->sd_file->ifl_neededndx; in update_osyminfo()
3001 expand_move(Ofl_desc *ofl, Sym_desc *sdp, Move *mvp) in expand_move() argument
3010 offset = sdp->sd_sym->st_value - osp->os_shdr->sh_addr; in expand_move()
3062 Sym_desc *sdp; in update_move() local
3086 for (APLIST_TRAVERSE(ofl->ofl_parsyms, idx1, sdp)) { in update_move()
3093 if (sdp->sd_flags & FLG_SY_PAREXPN) { in update_move()
3104 sdp->sd_name, str)); in update_move()
3106 for (ALIST_TRAVERSE(sdp->sd_move, idx2, mdp)) { in update_move()
3108 mdp->md_move, sdp)); in update_move()
3109 expand_move(ofl, sdp, mdp->md_move); in update_move()
3117 DBG_CALL(Dbg_move_outmove(ofl->ofl_lml, sdp->sd_name)); in update_move()
3119 for (ALIST_TRAVERSE(sdp->sd_move, idx2, mdp)) { in update_move()
3125 sym = sdp->sd_sym; in update_move()
3127 DBG_CALL(Dbg_move_entry1(ofl->ofl_lml, 1, imvp, sdp)); in update_move()
3132 Os_desc *osp = sdp->sd_isc->is_osdesc; in update_move()
3149 ELF_M_INFO(sdp->sd_symndx, in update_move()
3159 if (isredloc && !(sdp->sd_move)) { in update_move()
3160 Os_desc *osp = sdp->sd_isc->is_osdesc; in update_move()
3172 sdp, idx, in update_move()
3177 ELF_M_INFO(sdp->sd_symndx, in update_move()
3182 DBG_CALL(Dbg_move_entry1(ofl->ofl_lml, 0, omvp, sdp)); in update_move()
3204 Sym_desc *sdp; in update_ogroup() local
3216 sdp = ifl->ifl_oldndx[isp->is_shdr->sh_info]; in update_ogroup()
3218 shdr->sh_info = sdp->sd_symndx; in update_ogroup()
3650 Sym_desc *sdp; in ld_update_outfile() local
3955 for (APLIST_TRAVERSE(sgp->sg_sizesym, idx2, sdp)) in ld_update_outfile()
3956 sdp->sd_sym->st_value = phdr->p_memsz; in ld_update_outfile()
4164 Sym_desc *sdp = ofl->ofl_dtracesym; in ld_update_outfile() local
4166 phdr->p_vaddr = sdp->sd_sym->st_value; in ld_update_outfile()
4167 phdr->p_memsz = sdp->sd_sym->st_size; in ld_update_outfile()
4173 aphdr = &sdp->sd_isc->is_osdesc->os_sgdesc->sg_phdr; in ld_update_outfile()