Lines Matching defs:rsp
336 ld_disp_errmsg(const char *msg, Rel_desc *rsp, Ofl_desc *ofl)
340 Ifl_desc *ifl = rsp->rel_isdesc->is_file;
343 if ((sdp = disp_scansyms(ifl, rsp, 0, 1, ofl)) != 0)
349 conv_reloc_type(ifl->ifl_ehdr->e_machine, rsp->rel_rtype,
350 0, &inv_buf), ifl->ifl_name, ld_reloc_sym_name(rsp), str,
351 EC_OFF(rsp->rel_roffset));
757 * rsp - Relocation descriptor
760 ld_reloc_sym_name(Rel_desc *rsp)
762 Sym_desc *sdp = rsp->rel_sym;
783 if (IS_REGISTER(rsp->rel_rtype))
795 ld_add_actrel(Word flags, Rel_desc *rsp, Ofl_desc *ofl)
799 if ((arsp = ld_reloc_enter(ofl, &ofl->ofl_actrels, rsp, flags)) == NULL)
848 ld_reloc_GOT_relative(Boolean local, Rel_desc *rsp, Ofl_desc *ofl)
850 Sym_desc *sdp = rsp->rel_sym;
860 GOT_REF_GENERIC, ofl, rsp)) == 0) {
861 Word rtype = rsp->rel_rtype;
864 GOT_REF_GENERIC, ofl, rsp, sdp) == S_ERROR)
894 rsp, ofl) == S_ERROR)
897 rsp->rel_rtype = ld_targ.t_m.m_r_relative;
901 rsp, ofl) == S_ERROR)
904 rsp->rel_rtype = rtype;
906 if (ld_add_actrel(FLG_REL_GOT, rsp,
911 rsp->rel_rtype = ld_targ.t_m.m_r_glob_dat;
913 rsp, ofl) == S_ERROR)
915 rsp->rel_rtype = rtype;
919 GOT_REF_GENERIC, ofl, rsp, sdp) == S_ERROR)
926 return (ld_add_actrel(NULL, rsp, ofl));
933 ld_reloc_plt(Rel_desc *rsp, Ofl_desc *ofl)
935 Sym_desc *sdp = rsp->rel_sym;
946 return (ld_add_actrel(FLG_REL_TLSFIX, rsp, ofl));
957 return (ld_add_actrel(FLG_REL_TLSFIX, rsp, ofl));
969 Word ortype = rsp->rel_rtype;
984 rsp->rel_rtype = ld_targ.t_m.m_r_jmp_slot;
985 if ((*ld_targ.t_mr.mr_add_outrel)(FLG_REL_PLT, rsp, ofl) ==
988 rsp->rel_rtype = ortype;
995 IS_ADD_RELATIVE(rsp->rel_rtype)) {
996 Word ortype = rsp->rel_rtype;
998 rsp->rel_rtype = ld_targ.t_m.m_r_relative;
999 if ((*ld_targ.t_mr.mr_add_outrel)(FLG_REL_ADVAL, rsp, ofl) ==
1002 rsp->rel_rtype = ortype;
1005 return (ld_add_actrel(NULL, rsp, ofl));
1028 reloc_exec(Rel_desc *rsp, Ofl_desc *ofl)
1030 Sym_desc *_sdp, *sdp = rsp->rel_sym;
1039 return (ld_reloc_plt(rsp, ofl));
1046 return ((*ld_targ.t_mr.mr_add_outrel)(NULL, rsp, ofl));
1053 return (ld_add_actrel(NULL, rsp, ofl));
1065 (RELAUX_GET_OSDESC(rsp)->os_shdr->sh_flags & SHF_WRITE)) {
1067 return (ld_add_actrel(NULL, rsp, ofl));
1069 return ((*ld_targ.t_mr.mr_add_outrel)(NULL, rsp, ofl));
1084 rsp->rel_isdesc->is_file->ifl_name,
1085 ld_reloc_sym_name(rsp), sdp->sd_file->ifl_name);
1086 return ((*ld_targ.t_mr.mr_add_outrel)(NULL, rsp, ofl));
1136 !ld_reloc_set_aux_usym(ofl, rsp, _sdp))
1148 if (!(RELAUX_GET_USYM(rsp)->sd_flags & FLG_SY_MVTOCOMM)) {
1149 Word rtype = rsp->rel_rtype, w2align;
1197 _sdp = RELAUX_GET_USYM(rsp);
1256 rsp->rel_rtype = ld_targ.t_m.m_r_copy;
1257 if ((*ld_targ.t_mr.mr_add_outrel)(FLG_REL_BSS, rsp, ofl) ==
1260 rsp->rel_rtype = rtype;
1282 return (ld_add_actrel(NULL, rsp, ofl));
1291 reloc_generic(Rel_desc *rsp, Ofl_desc *ofl)
1293 Ifl_desc *ifl = rsp->rel_isdesc->is_file;
1297 conv_reloc_type(ifl->ifl_ehdr->e_machine, rsp->rel_rtype,
1298 0, &inv_buf), ifl->ifl_name, ld_reloc_sym_name(rsp));
1305 return ((*ld_targ.t_mr.mr_add_outrel)(NULL, rsp, ofl));
1310 return (ld_add_actrel(NULL, rsp, ofl));
1319 reloc_relobj(Boolean local, Rel_desc *rsp, Ofl_desc *ofl)
1321 Word rtype = rsp->rel_rtype;
1322 Sym_desc *sdp = rsp->rel_sym;
1323 Is_desc *isp = rsp->rel_isdesc;
1337 return (ld_add_actrel(NULL, rsp, ofl));
1351 if (IS_GOT_RELATIVE(rsp->rel_rtype)) {
1352 Ifl_desc *ifl = rsp->rel_isdesc->is_file;
1356 ld_reloc_sym_name(rsp), ifl->ifl_name,
1358 rsp->rel_rtype, 0, &inv_buf));
1367 if ((rsp->rel_flags & FLG_REL_RELA) == FLG_REL_RELA)
1373 if ((rsp->rel_flags & FLG_REL_RELA) == 0) {
1385 if (ld_add_actrel(NULL, rsp, ofl) == S_ERROR)
1388 return ((*ld_targ.t_mr.mr_add_outrel)(oflags, rsp, ofl));
1397 reloc_TLS(Boolean local, Rel_desc *rsp, Ofl_desc *ofl)
1399 Word rtype = rsp->rel_rtype;
1401 Ifl_desc *ifl = rsp->rel_isdesc->is_file;
1403 Sym_desc *sdp = rsp->rel_sym;
1413 ld_reloc_sym_name(rsp));
1424 ld_reloc_sym_name(rsp),
1438 ld_reloc_sym_name(rsp), sdp->sd_file->ifl_name);
1459 ifl->ifl_name, ld_reloc_sym_name(rsp));
1466 ifl->ifl_name, ld_reloc_sym_name(rsp));
1470 return ((*ld_targ.t_mr.mr_reloc_TLS)(local, rsp, ofl));
2855 ld_assign_got_TLS(Boolean local, Rel_desc *rsp, Ofl_desc *ofl, Sym_desc *sdp,
2861 gref, ofl, rsp, sdp) == S_ERROR)
2867 rsp->rel_rtype = rtype1;
2869 if ((*ld_targ.t_mr.mr_add_outrel)(rflags, rsp, ofl) == S_ERROR)
2879 if (ld_add_actrel(rflags, rsp, ofl) == S_ERROR)
2885 rsp->rel_rtype = rtype2;
2888 if (ld_add_actrel(rflags, rsp, ofl) == S_ERROR)
2891 if ((*ld_targ.t_mr.mr_add_outrel)(rflags, rsp, ofl) ==
2897 rsp->rel_rtype = ortype;
2986 ld_swap_reloc_data(Ofl_desc *ofl, Rel_desc *rsp)
2997 switch (RELAUX_GET_OSDESC(rsp)->os_shdr->sh_type) {
3028 * rsp - Relocation record
3037 ld_reloc_targval_get(Ofl_desc *ofl, Rel_desc *rsp, uchar_t *data, Xword *value)
3041 rep = &ld_targ.t_mr.mr_reloc_table[rsp->rel_rtype];
3053 if (OFL_SWAP_RELOC_DATA(ofl, rsp)) {
3066 if (OFL_SWAP_RELOC_DATA(ofl, rsp)) {
3078 conv_reloc_type(ld_targ.t_m.m_mach, rsp->rel_rtype,
3079 0, &inv_buf), rsp->rel_isdesc->is_file->ifl_name,
3080 ld_reloc_sym_name(rsp), (int)rep->re_fsize);
3093 * rsp - Relocation record
3102 ld_reloc_targval_set(Ofl_desc *ofl, Rel_desc *rsp, uchar_t *data, Xword value)
3106 rep = &ld_targ.t_mr.mr_reloc_table[rsp->rel_rtype];
3118 if (OFL_SWAP_RELOC_DATA(ofl, rsp)) {
3130 if (OFL_SWAP_RELOC_DATA(ofl, rsp)) {
3141 conv_reloc_type(ld_targ.t_m.m_mach, rsp->rel_rtype,
3142 0, &inv_buf), rsp->rel_isdesc->is_file->ifl_name,
3143 ld_reloc_sym_name(rsp), (int)rep->re_fsize);