Lines Matching refs:rel

348   for (const RelTy &rel : rels) {  in copyRelocations()  local
349 RelType type = rel.getType(config->isMips64EL); in copyRelocations()
351 Symbol &sym = file->getRelocTargetSym(rel); in copyRelocations()
357 p->r_addend = getAddend<ELFT>(rel); in copyRelocations()
361 p->r_offset = sec->getVA(rel.r_offset); in copyRelocations()
398 int64_t addend = getAddend<ELFT>(rel); in copyRelocations()
399 const uint8_t *bufLoc = sec->rawData.begin() + rel.r_offset; in copyRelocations()
422 sec->relocations.push_back({R_ABS, type, rel.r_offset, addend, &sym}); in copyRelocations()
831 for (const RelTy &rel : rels) { in relocateNonAlloc() local
832 RelType type = rel.getType(config->isMips64EL); in relocateNonAlloc()
841 uint64_t offset = rel.r_offset; in relocateNonAlloc()
843 int64_t addend = getAddend<ELFT>(rel); in relocateNonAlloc()
847 Symbol &sym = getFile<ELFT>()->getRelocTargetSym(rel); in relocateNonAlloc()
940 for (const Relocation &rel : sec->relocations) { in relocateNonAllocForRelocatable() local
942 assert(rel.expr == R_ABS); in relocateNonAllocForRelocatable()
943 uint8_t *bufLoc = buf + rel.offset; in relocateNonAllocForRelocatable()
944 uint64_t targetVA = SignExtend64(rel.sym->getVA(rel.addend), bits); in relocateNonAllocForRelocatable()
945 target->relocate(bufLoc, rel, targetVA); in relocateNonAllocForRelocatable()
978 const Relocation &rel = relocations[i]; in relocateAlloc() local
979 if (rel.expr == R_NONE) in relocateAlloc()
981 uint64_t offset = rel.offset; in relocateAlloc()
989 SignExtend64(getRelocTargetVA(file, rel.type, rel.addend, addrLoc, in relocateAlloc()
990 *rel.sym, rel.expr), in relocateAlloc()
992 switch (rel.expr) { in relocateAlloc()
997 target.relaxGot(bufLoc, rel, targetVA); in relocateAlloc()
1001 rel, relocations[i + 1], secAddr, buf)) { in relocateAlloc()
1005 target.relocate(bufLoc, rel, targetVA); in relocateAlloc()
1009 rel, relocations[i + 1], secAddr, buf)) { in relocateAlloc()
1013 target.relocate(bufLoc, rel, targetVA); in relocateAlloc()
1022 if (rel.type == R_PPC64_GOT_PCREL34) in relocateAlloc()
1024 if (rel.type == R_PPC64_PCREL_OPT && offset != lastPPCRelaxedRelocOff) in relocateAlloc()
1026 target.relaxGot(bufLoc, rel, targetVA); in relocateAlloc()
1035 if (ppc64noTocRelax.count({rel.sym, rel.addend}) || in relocateAlloc()
1036 !tryRelaxPPC64TocIndirection(rel, bufLoc)) in relocateAlloc()
1037 target.relocate(bufLoc, rel, targetVA); in relocateAlloc()
1040 target.relaxTlsIeToLe(bufLoc, rel, targetVA); in relocateAlloc()
1044 target.relaxTlsLdToLe(bufLoc, rel, targetVA); in relocateAlloc()
1048 target.relaxTlsGdToLe(bufLoc, rel, targetVA); in relocateAlloc()
1055 target.relaxTlsGdToIe(bufLoc, rel, targetVA); in relocateAlloc()
1065 if (rel.sym->needsTocRestore) { in relocateAlloc()
1071 rel.sym->file != file) { in relocateAlloc()
1074 lld::toString(*rel.sym).substr(6) + in relocateAlloc()
1080 target.relocate(bufLoc, rel, targetVA); in relocateAlloc()
1083 target.relocate(bufLoc, rel, targetVA); in relocateAlloc()
1154 for (Relocation &rel : relocations) { in adjustSplitStackFunctionPrologues()
1156 if (rel.sym->getName().startswith("__morestack")) { in adjustSplitStackFunctionPrologues()
1157 if (rel.sym->getName().equals("__morestack")) in adjustSplitStackFunctionPrologues()
1158 morestackCalls.push_back(&rel); in adjustSplitStackFunctionPrologues()
1165 if (rel.sym->type != STT_FUNC) in adjustSplitStackFunctionPrologues()
1173 if (Defined *d = dyn_cast<Defined>(rel.sym)) in adjustSplitStackFunctionPrologues()
1178 if (enclosingPrologueAttempted(rel.offset, prologues)) in adjustSplitStackFunctionPrologues()
1181 if (Defined *f = getEnclosingFunction(rel.offset)) { in adjustSplitStackFunctionPrologues()
1188 " (with -fsplit-stack) calls " + rel.sym->getName() + in adjustSplitStackFunctionPrologues()
1270 const RelTy &rel = rels[relocI]; in getReloc() local
1271 if (rel.r_offset < begin) in getReloc()
1274 if (rel.r_offset < begin + size) in getReloc()