Lines Matching refs:ofl

77 string(Ofl_desc *ofl, Ifl_desc *ifl, Sym *sym, const char *strs, size_t strsize,  in string()  argument
85 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_FIL_NOSTRTABLE), in string()
91 ld_eprintf(ofl, ERR_FATAL, in string()
104 const char *regname = (*ld_targ.t_ms.ms_is_regsym)(ofl, ifl, in string()
123 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_FIL_NONAMESYM), in string()
197 ld_sym_nodirect(Is_desc *isp, Ifl_desc *ifl, Ofl_desc *ofl) in ld_sym_nodirect() argument
219 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_FIL_INVSHINFO), in ld_sym_nodirect()
246 if ((sdp = ld_sym_find(str, SYM_NOHASH, NULL, ofl)) != NULL) { in ld_sym_nodirect()
291 ld_sym_find(const char *name, Word hash, avl_index_t *where, Ofl_desc *ofl) in ld_sym_find() argument
306 sav = avl_find(&ofl->ofl_symavl, &qsav, where); in ld_sym_find()
328 Ofl_desc *ofl, Word ndx, Word shndx, sd_flag_t sdflags, avl_index_t *where) in ld_sym_enter() argument
347 ofl->ofl_entercnt++; in ld_sym_enter()
391 _savl = avl_find(&ofl->ofl_symavl, savl, where); in ld_sym_enter()
394 avl_insert(&ofl->ofl_symavl, savl, *where); in ld_sym_enter()
415 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_SYM_INVSEC), in ld_sym_enter()
456 ofl->ofl_flags1 |= (FLG_OF1_NDIRECT | FLG_OF1_NGLBDIR); in ld_sym_enter()
472 if ((ofl->ofl_flags1 & FLG_OF1_ALNODIR) && in ld_sym_enter()
588 ld_vers_promote(sdp, ndx, ifl, ofl); in ld_sym_enter()
591 if ((ofl->ofl_flags & FLG_OF_GENMAP) && in ld_sym_enter()
605 DBG_CALL(Dbg_syms_entered(ofl, nsym, sdp)); in ld_sym_enter()
636 sd_flag_t sdflags_u, sd_flag_t sdflags, Ofl_desc *ofl) in sym_add_spec() argument
646 if (usdp = ld_sym_find(uname, hash, &where, ofl)) { in sym_add_spec()
681 ((ofl->ofl_flags & FLG_OF_SYMBOLIC) == 0)) { in sym_add_spec()
694 DBG_CALL(Dbg_syms_updated(ofl, usdp, uname)); in sym_add_spec()
696 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_SYM_RESERVE), in sym_add_spec()
708 DBG_CALL(Dbg_syms_created(ofl->ofl_lml, uname)); in sym_add_spec()
710 ofl, 0, SHN_ABS, (FLG_SY_SPECSEC | sdflags_u), &where)) == in sym_add_spec()
723 ((ofl->ofl_flags & FLG_OF_SYMBOLIC) == 0)) { in sym_add_spec()
729 if (name && (sdp = ld_sym_find(name, SYM_NOHASH, NULL, ofl)) && in sym_add_spec()
769 ((ofl->ofl_flags & FLG_OF_SYMBOLIC) == 0)) { in sym_add_spec()
782 DBG_CALL(Dbg_syms_updated(ofl, sdp, name)); in sym_add_spec()
845 sym_undef_entry(Ofl_desc *ofl, Sym_desc *sdp, Type type, ofl_flag_t ofl_flag, in sym_undef_entry() argument
853 ld_eprintf(ofl, ERR_NONE, MSG_INTL(MSG_SYM_FMT_UNDEF), in sym_undef_entry()
859 ofl->ofl_flags |= ofl_flag; in sym_undef_entry()
883 ld_eprintf(ofl, ERR_NONE, MSG_INTL(format[type]), in sym_undef_entry()
893 ld_sym_spec(Ofl_desc *ofl) in ld_sym_spec() argument
897 if (ofl->ofl_flags & FLG_OF_RELOBJ) in ld_sym_spec()
900 DBG_CALL(Dbg_syms_spec_title(ofl->ofl_lml)); in ld_sym_spec()
904 ofl) == S_ERROR) in ld_sym_spec()
908 ofl) == S_ERROR) in ld_sym_spec()
912 ofl) == S_ERROR) in ld_sym_spec()
915 SDAUX_ID_END, 0, FLG_SY_HIDDEN, ofl) == S_ERROR) in ld_sym_spec()
918 SDAUX_ID_START, 0, FLG_SY_HIDDEN, ofl) == S_ERROR) in ld_sym_spec()
927 ofl) == S_ERROR) in ld_sym_spec()
930 if (OFL_ALLOW_DYNSYM(ofl)) in ld_sym_spec()
934 ofl) == S_ERROR) in ld_sym_spec()
942 SYM_NOHASH, NULL, ofl)) != NULL) && (sdp->sd_ref != REF_DYN_SEEN)) { in ld_sym_spec()
945 (FLG_SY_DEFAULT | FLG_SY_EXPDEF), ofl) == S_ERROR) in ld_sym_spec()
976 sym_cap_vis(const char *name, Word hash, Sym *sym, Ofl_desc *ofl) in sym_cap_vis() argument
1000 if ((sdp = ld_sym_find(name, hash, &where, ofl)) != NULL) in sym_cap_vis()
1007 if ((ofl->ofl_flags & (FLG_OF_AUTOLCL | FLG_OF_AUTOELM)) && in sym_cap_vis()
1020 ld_sym_adjust_vis(Sym_desc *sdp, Ofl_desc *ofl) in ld_sym_adjust_vis() argument
1022 ofl_flag_t oflags = ofl->ofl_flags; in ld_sym_adjust_vis()
1087 ensure_sym_local(Ofl_desc *ofl, Sym_desc *sdp, const char *str) in ensure_sym_local() argument
1091 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_SYM_UNDEF), in ensure_sym_local()
1098 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_SYM_EXTERN), in ensure_sym_local()
1118 ensure_array_local(Ofl_desc *ofl, APlist *apl, const char *str) in ensure_array_local() argument
1125 ret += ensure_sym_local(ofl, sdp, str); in ensure_array_local()
1148 ld_sym_validate(Ofl_desc *ofl) in ld_sym_validate() argument
1153 ofl_flag_t oflags = ofl->ofl_flags; in ld_sym_validate()
1166 DBG_CALL(Dbg_basic_validate(ofl->ofl_lml)); in ld_sym_validate()
1202 OFL_GUIDANCE(ofl, FLG_OFG_NO_DEFS)) in ld_sym_validate()
1214 OFL_GUIDANCE(ofl, FLG_OFG_NO_DEFS)) in ld_sym_validate()
1223 if ((oflags & FLG_OF_VERDEF) && (ofl->ofl_vercnt > VER_NDX_GLOBAL)) in ld_sym_validate()
1226 allow_ldynsym = OFL_ALLOW_LDYNSYM(ofl); in ld_sym_validate()
1246 SYM_NOHASH, NULL, ofl)) != NULL) && in ld_sym_validate()
1258 for (sav = avl_first(&ofl->ofl_symavl); sav; in ld_sym_validate()
1259 sav = AVL_NEXT(&ofl->ofl_symavl, sav)) { in ld_sym_validate()
1272 !OFL_GUIDANCE(ofl, FLG_OFG_NO_DEFS) && in ld_sym_validate()
1301 ld_eprintf(ofl, ERR_FATAL, in ld_sym_validate()
1309 ld_sym_adjust_vis(sdp, ofl); in ld_sym_validate()
1313 DBG_CALL(Dbg_syms_reduce(ofl, DBG_SYM_REDUCE_GLOBAL, in ld_sym_validate()
1321 ofl->ofl_dtflags_1 |= DF_1_SINGLETON; in ld_sym_validate()
1332 sym_undef_entry(ofl, sdp, BNDLOCAL, in ld_sym_validate()
1391 sym_undef_entry(ofl, sdp, UNDEF, undef, in ld_sym_validate()
1410 sym_undef_entry(ofl, sdp, UNDEF, FLG_OF_WARN, in ld_sym_validate()
1433 ofl->ofl_flags1 |= FLG_OF1_NGLBDIR; in ld_sym_validate()
1444 sym_undef_entry(ofl, sdp, NOTAVAIL, in ld_sym_validate()
1459 sym_undef_entry(ofl, sdp, IMPLICIT, needed, in ld_sym_validate()
1472 sym_undef_entry(ofl, sdp, BNDLOCAL, FLG_OF_FATAL, in ld_sym_validate()
1490 sym_undef_entry(ofl, sdp, NOVERSION, in ld_sym_validate()
1578 ofl->ofl_elimcnt++; in ld_sym_validate()
1580 ofl->ofl_scopecnt++; in ld_sym_validate()
1582 sym->st_name) && (st_insert(ofl->ofl_strtab, in ld_sym_validate()
1587 ofl->ofl_dynscopecnt++; in ld_sym_validate()
1588 if (st_insert(ofl->ofl_dynstrtab, in ld_sym_validate()
1596 ofl->ofl_globcnt++; in ld_sym_validate()
1614 if (((ofl->ofl_dtflags_1 & DF_1_DIRECT) || (isp && in ld_sym_validate()
1624 if (st_insert(ofl->ofl_strtab, in ld_sym_validate()
1628 if (!(ofl->ofl_flags & FLG_OF_RELOBJ) && in ld_sym_validate()
1629 (st_insert(ofl->ofl_dynstrtab, in ld_sym_validate()
1651 if (!((oflags & FLG_OF_SHAROBJ) && OFL_GUIDANCE(ofl, FLG_OFG_NO_DEFS) && in ld_sym_validate()
1653 ofl->ofl_guideflags |= FLG_OFG_NO_DEFS; in ld_sym_validate()
1659 if (ofl->ofl_flags & FLG_OF_FATAL) in ld_sym_validate()
1667 if (ofl->ofl_regsyms) { in ld_sym_validate()
1670 for (ndx = 0; ndx < ofl->ofl_regsymsno; ndx++) { in ld_sym_validate()
1671 if ((sdp = ofl->ofl_regsyms[ndx]) == NULL) in ld_sym_validate()
1674 ofl->ofl_regsyms[ndx] = NULL; in ld_sym_validate()
1678 ofl->ofl_regsymcnt++; in ld_sym_validate()
1684 ofl->ofl_lregsymcnt++; in ld_sym_validate()
1692 if (ld_make_bss(ofl, bsssize, bssalign, in ld_sym_validate()
1697 if (ld_make_bss(ofl, tlssize, tlsalign, in ld_sym_validate()
1704 if (ld_make_bss(ofl, lbsssize, lbssalign, in ld_sym_validate()
1717 if (ofl->ofl_entry) { in ld_sym_validate()
1718 if ((sdp = ld_sym_find(ofl->ofl_entry, SYM_NOHASH, in ld_sym_validate()
1719 NULL, ofl)) == NULL) { in ld_sym_validate()
1720 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_NOENTRY), in ld_sym_validate()
1721 ofl->ofl_entry); in ld_sym_validate()
1723 } else if (ensure_sym_local(ofl, sdp, in ld_sym_validate()
1727 ofl->ofl_entry = (void *)sdp; in ld_sym_validate()
1730 SYM_NOHASH, NULL, ofl)) != NULL) && (ensure_sym_local(ofl, in ld_sym_validate()
1732 ofl->ofl_entry = (void *)sdp; in ld_sym_validate()
1735 SYM_NOHASH, NULL, ofl)) != NULL) && (ensure_sym_local(ofl, in ld_sym_validate()
1737 ofl->ofl_entry = (void *)sdp; in ld_sym_validate()
1744 if ((sdp = ofl->ofl_dtracesym) != 0) in ld_sym_validate()
1745 ret += ensure_sym_local(ofl, sdp, MSG_ORIG(MSG_STR_DTRACE)); in ld_sym_validate()
1752 if (ofl->ofl_initarray) { in ld_sym_validate()
1753 ret += ensure_array_local(ofl, ofl->ofl_initarray, in ld_sym_validate()
1756 if (ofl->ofl_finiarray) { in ld_sym_validate()
1757 ret += ensure_array_local(ofl, ofl->ofl_finiarray, in ld_sym_validate()
1760 if (ofl->ofl_preiarray) { in ld_sym_validate()
1761 ret += ensure_array_local(ofl, ofl->ofl_preiarray, in ld_sym_validate()
1773 return (ld_vers_check_need(ofl)); in ld_sym_validate()
1854 issue_badaddr_msg(Ifl_desc *ifl, Ofl_desc *ofl, Sym_desc *sdp, in issue_badaddr_msg() argument
1869 ld_eprintf(ofl, err, msg, demangle(sdp->sd_name), in issue_badaddr_msg()
1901 ld_sym_process(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl) in ld_sym_process() argument
1964 DBG_CALL(Dbg_syms_process(ofl->ofl_lml, ifl)); in ld_sym_process()
1979 ld_eprintf(ofl, ERR_FATAL, in ld_sym_process()
2037 int allow_ldynsym = OFL_ALLOW_LDYNSYM(ofl); in ld_sym_process()
2064 if ((name = string(ofl, ifl, sym, strs, strsize, ndx, in ld_sym_process()
2074 ld_eprintf(ofl, ERR_WARNING, in ld_sym_process()
2098 rsdp = (*ld_targ.t_ms.ms_reg_find)(sym, ofl); in ld_sym_process()
2107 (rsdp, sym, name, ifl, ofl); in ld_sym_process()
2140 DBG_CALL(Dbg_syms_entry(ofl->ofl_lml, ndx, sdp)); in ld_sym_process()
2160 DBG_CALL(Dbg_syms_entered(ofl, sym, sdp)); in ld_sym_process()
2170 ((*ld_targ.t_ms.ms_reg_enter)(sdp, ofl) == in ld_sym_process()
2190 DBG_CALL(Dbg_syms_discarded(ofl->ofl_lml, sdp)); in ld_sym_process()
2200 ld_eprintf(ofl, ERR_WARNING, in ld_sym_process()
2220 issue_badaddr_msg(ifl, ofl, sdp, in ld_sym_process()
2222 if (ofl->ofl_flags & FLG_OF_FATAL) in ld_sym_process()
2248 ofl->ofl_lml, ndx, sdp)); in ld_sym_process()
2264 ld_eprintf(ofl, ERR_FATAL, in ld_sym_process()
2285 ld_eprintf(ofl, ERR_WARNING, in ld_sym_process()
2303 if (!(ofl->ofl_flags & FLG_OF_REDLSYM) && in ld_sym_process()
2305 ofl->ofl_locscnt++; in ld_sym_process()
2308 sym->st_name) && (st_insert(ofl->ofl_strtab, in ld_sym_process()
2314 ofl->ofl_dynlocscnt++; in ld_sym_process()
2315 if (st_insert(ofl->ofl_dynstrtab, in ld_sym_process()
2379 if ((name = string(ofl, ifl, nsym, strs, strsize, ndx, shndx, in ld_sym_process()
2387 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_SYM_INVSHNDX), in ld_sym_process()
2437 if (ofl->ofl_wrap && name[0] && (shndx == SHN_UNDEF)) { in ld_sym_process()
2456 if ((wsnp = avl_find(ofl->ofl_wrap, &wsn, 0)) != NULL) { in ld_sym_process()
2461 DBG_CALL(Dbg_syms_wrap(ofl->ofl_lml, ndx, in ld_sym_process()
2471 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_SYM_NONGLOB), in ld_sym_process()
2495 ld_eprintf(ofl, ERR_WARNING, in ld_sym_process()
2522 DBG_CALL(Dbg_syms_discarded(ofl->ofl_lml, sdp)); in ld_sym_process()
2566 if (sym_cap_vis(name, hash, sym, ofl) && in ld_sym_process()
2575 DBG_CALL(Dbg_syms_cap_convert(ofl, ndx, name, nsym)); in ld_sym_process()
2629 if ((sdp = ld_sym_find(name, hash, &where, ofl)) == NULL) { in ld_sym_process()
2630 DBG_CALL(Dbg_syms_global(ofl->ofl_lml, ndx, name)); in ld_sym_process()
2631 if ((sdp = ld_sym_enter(name, nsym, hash, ifl, ofl, ndx, in ld_sym_process()
2635 } else if (ld_sym_resolve(sdp, nsym, ifl, ofl, ndx, shndx, in ld_sym_process()
2674 rsdp = (*ld_targ.t_ms.ms_reg_find)(sdp->sd_sym, ofl); in ld_sym_process()
2676 if ((*ld_targ.t_ms.ms_reg_enter)(sdp, ofl) == 0) in ld_sym_process()
2680 sdp->sd_sym, sdp->sd_name, ifl, ofl); in ld_sym_process()
2700 issue_badaddr_msg(ifl, ofl, sdp, in ld_sym_process()
2706 DBG_CALL(Dbg_util_nl(ofl->ofl_lml, DBG_NL_STD)); in ld_sym_process()
2740 if (weak && (OFL_ALLOW_LDYNSYM(ofl) || (etype == ET_DYN)) && in ld_sym_process()
2911 if (ld_cap_add_family(ofl, cpp2->c_nsdp, in ld_sym_process()
2920 DBG_CALL(Dbg_util_nl(ofl->ofl_lml, DBG_NL_STD)); in ld_sym_process()
2989 ofl->ofl_caploclcnt++; in ld_sym_process()
2990 if (st_insert(ofl->ofl_strtab, cname) == -1) in ld_sym_process()
2993 DBG_CALL(Dbg_syms_cap_local(ofl, cpp1->c_ndx, in ld_sym_process()
2999 if (ld_cap_add_family(ofl, cpp1->c_nsdp, osdp, in ld_sym_process()
3018 ld_sym_add_u(const char *name, Ofl_desc *ofl, Msg mid) in ld_sym_add_u() argument
3036 if ((sdp = ld_sym_find(name, hash, &where, ofl)) != NULL) { in ld_sym_add_u()
3048 for (APLIST_TRAVERSE(ofl->ofl_objs, idx, _ifl)) in ld_sym_add_u()
3066 if (aplist_append(&ofl->ofl_objs, ifl, AL_CNT_OFL_OBJS) == NULL) in ld_sym_add_u()
3078 DBG_CALL(Dbg_syms_process(ofl->ofl_lml, ifl)); in ld_sym_add_u()
3080 DBG_CALL(Dbg_syms_global(ofl->ofl_lml, 0, name)); in ld_sym_add_u()
3081 if ((sdp = ld_sym_enter(name, sym, hash, ifl, ofl, 0, SHN_UNDEF, in ld_sym_add_u()
3084 } else if (ld_sym_resolve(sdp, sym, ifl, ofl, 0, in ld_sym_add_u()