Lines Matching refs:ofl

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