Lines Matching defs:arsp

536 tls_fixups(Ofl_desc *ofl, Rel_desc *arsp)
538 Sym_desc *sdp = arsp->rel_sym;
539 Word rtype = arsp->rel_rtype;
542 offset = (uchar_t *)((uintptr_t)arsp->rel_roffset +
543 (uintptr_t)_elf_getxoff(arsp->rel_isdesc->is_indata) +
544 (uintptr_t)RELAUX_GET_OSDESC(arsp)->os_outdata->d_buf);
572 R_AMD64_GOTTPOFF, arsp, ld_reloc_sym_name));
573 arsp->rel_rtype = R_AMD64_GOTTPOFF;
574 arsp->rel_roffset += 8;
575 arsp->rel_raddend = (Sxword)-4;
591 R_AMD64_NONE, arsp, ld_reloc_sym_name));
617 R_AMD64_TPOFF32, arsp, ld_reloc_sym_name));
618 arsp->rel_rtype = R_AMD64_TPOFF32;
619 arsp->rel_roffset += 8;
620 arsp->rel_raddend = 0;
662 R_AMD64_TPOFF32, arsp, ld_reloc_sym_name));
663 arsp->rel_rtype = R_AMD64_TPOFF32;
664 arsp->rel_raddend = 0;
704 conv_reloc_amd64_type(arsp->rel_rtype, 0, &inv_buf),
705 arsp->rel_isdesc->is_file->ifl_name,
706 ld_reloc_sym_name(arsp),
707 arsp->rel_isdesc->is_name,
708 EC_OFF(arsp->rel_roffset));
726 R_AMD64_NONE, arsp, ld_reloc_sym_name));
741 R_AMD64_TPOFF32, arsp, ld_reloc_sym_name));
742 arsp->rel_rtype = R_AMD64_TPOFF32;
743 arsp->rel_raddend = 0;
753 Rel_desc *arsp;
765 REL_CACHE_TRAVERSE(&ofl->ofl_actrels, idx, rcbp, arsp) {
779 if ((arsp->rel_isdesc->is_flags & FLG_IS_DISCARD) &&
780 ((arsp->rel_flags & (FLG_REL_GOT | FLG_REL_BSS |
782 DBG_CALL(Dbg_reloc_discard(ofl->ofl_lml, M_MACH, arsp));
794 if (arsp->rel_flags & FLG_REL_DTLS)
796 else if (arsp->rel_flags & FLG_REL_MTLS)
798 else if (arsp->rel_flags & FLG_REL_STLS)
806 if (arsp->rel_flags & FLG_REL_TLSFIX) {
809 if ((ret = tls_fixups(ofl, arsp)) == FIX_ERROR)
819 if (RELAUX_GET_MOVE(arsp))
820 ld_adj_movereloc(ofl, arsp);
822 sdp = arsp->rel_sym;
823 refaddr = arsp->rel_roffset +
824 (Off)_elf_getxoff(arsp->rel_isdesc->is_indata);
826 if ((arsp->rel_flags & FLG_REL_CLVAL) ||
827 (arsp->rel_flags & FLG_REL_GOTCL))
838 (sym = ld_am_I_partial(arsp, arsp->rel_raddend))) {
856 arsp->rel_raddend -= sym->sd_osym->st_value;
866 } else if (IS_SIZE(arsp->rel_rtype)) {
887 if ((arsp->rel_flags & FLG_REL_GOT) &&
888 !ld_reloc_set_aux_osdesc(ofl, arsp, ofl->ofl_osgot))
890 osp = RELAUX_GET_OSDESC(arsp);
896 if ((arsp->rel_flags & FLG_REL_LOAD) &&
898 refaddr += arsp->rel_isdesc->is_osdesc->
905 if (IS_PLT(arsp->rel_rtype)) {
918 if ((arsp->rel_flags & FLG_REL_GOT) == 0)
919 value += arsp->rel_raddend;
929 if ((arsp->rel_flags & FLG_REL_GOT) &&
944 gnp = ld_find_got_ndx(sdp->sd_GOTndxs, gref, ofl, arsp);
947 if (arsp->rel_rtype == R_AMD64_DTPOFF64)
960 M_MACH, SHT_RELA, arsp, R1addr, value,
972 } else if (IS_GOT_BASED(arsp->rel_rtype) &&
976 } else if (IS_GOTPCREL(arsp->rel_rtype) &&
984 gnp = ld_find_got_ndx(sdp->sd_GOTndxs, gref, ofl, arsp);
988 arsp->rel_raddend - refaddr;
990 } else if (IS_GOT_PC(arsp->rel_rtype) &&
993 sh_addr) - refaddr + arsp->rel_raddend;
995 } else if ((IS_PC_RELATIVE(arsp->rel_rtype)) &&
1000 } else if (IS_TLS_INS(arsp->rel_rtype) &&
1001 IS_GOT_RELATIVE(arsp->rel_rtype) &&
1005 gnp = ld_find_got_ndx(sdp->sd_GOTndxs, gref, ofl, arsp);
1009 } else if (IS_GOT_RELATIVE(arsp->rel_rtype) &&
1013 gnp = ld_find_got_ndx(sdp->sd_GOTndxs, gref, ofl, arsp);
1017 } else if ((arsp->rel_flags & FLG_REL_STLS) &&
1033 if (arsp->rel_rtype == R_AMD64_TPOFF32)
1037 if (arsp->rel_isdesc->is_file)
1038 ifl_name = arsp->rel_isdesc->is_file->ifl_name;
1049 if (arsp->rel_isdesc->is_indata->d_buf == 0) {
1053 conv_reloc_amd64_type(arsp->rel_rtype, 0, &inv_buf),
1054 ifl_name, ld_reloc_sym_name(arsp),
1055 EC_WORD(arsp->rel_isdesc->is_scnndx),
1056 arsp->rel_isdesc->is_name);
1063 addr = (uchar_t *)((uintptr_t)arsp->rel_roffset +
1064 (uintptr_t)_elf_getxoff(arsp->rel_isdesc->is_indata));
1067 M_MACH, SHT_RELA, arsp, EC_NATPTR(addr), value,
1072 ofl->ofl_size) || (arsp->rel_roffset >
1084 conv_reloc_amd64_type(arsp->rel_rtype, 0, &inv_buf),
1085 ifl_name, EC_WORD(arsp->rel_isdesc->is_scnndx),
1086 arsp->rel_isdesc->is_name, ld_reloc_sym_name(arsp),
1112 if (do_reloc_ld(arsp, addr, &value, ld_reloc_sym_name,
1113 ifl_name, OFL_SWAP_RELOC_DATA(ofl, arsp),