Lines Matching refs:addRel
65 bool tryRelaxAdrpAdd(const Relocation &adrpRel, const Relocation &addRel,
743 const Relocation &addRel, uint64_t secAddr, in tryRelaxAdrpAdd() argument
753 addRel.type != R_AARCH64_ADD_ABS_LO12_NC) in tryRelaxAdrpAdd()
756 if (adrpRel.offset + 4 != addRel.offset) in tryRelaxAdrpAdd()
758 if (adrpRel.sym != addRel.sym) in tryRelaxAdrpAdd()
760 if (adrpRel.addend != 0 || addRel.addend != 0) in tryRelaxAdrpAdd()
764 uint32_t addInstr = read32le(buf + addRel.offset); in tryRelaxAdrpAdd()
777 int64_t val = sym.getVA() - (secAddr + addRel.offset); in tryRelaxAdrpAdd()
781 Relocation adrRel = {R_ABS, R_AARCH64_ADR_PREL_LO21, addRel.offset, in tryRelaxAdrpAdd()
849 Relocation addRel = {R_ABS, R_AARCH64_ADD_ABS_LO12_NC, ldrRel.offset, in tryRelaxAdrpLdr() local
855 write32le(buf + addRel.offset, 0x91000000 | adrpDestReg | (adrpDestReg << 5)); in tryRelaxAdrpLdr()
861 target->relocate(buf + addRel.offset, addRel, SignExtend64(sym.getVA(), 64)); in tryRelaxAdrpLdr()
862 tryRelaxAdrpAdd(adrpSymRel, addRel, secAddr, buf); in tryRelaxAdrpLdr()