Lines Matching refs:sr
416 static void implementPatch(ScanResult sr, InputSection *isec, in implementPatch() argument
420 utohexstr(isec->getVA(sr.off)) + " in unpatched output."); in implementPatch()
433 if (sr.rel) { in implementPatch()
440 int64_t patchRelAddend = sr.rel->addend; in implementPatch()
442 if (isBL(sr.instr) || isBLX(sr.instr)) { in implementPatch()
446 uint64_t dstSymAddr = (sr.rel->expr == R_PLT_PC) ? sr.rel->sym->getPltVA() in implementPatch()
447 : sr.rel->sym->getVA(); in implementPatch()
450 psec = make<Patch657417Section>(isec, sr.off, sr.instr, destIsARM); in implementPatch()
458 Relocation{sr.rel->expr, patchRelType, 0, patchRelAddend, sr.rel->sym}); in implementPatch()
460 sr.rel->expr = R_PC; in implementPatch()
461 sr.rel->addend = -4; in implementPatch()
462 sr.rel->sym = psec->patchSym; in implementPatch()
468 psec = make<Patch657417Section>(isec, sr.off, sr.instr, isBLX(sr.instr)); in implementPatch()
470 if (isBcc(sr.instr)) in implementPatch()
472 else if (isB(sr.instr)) in implementPatch()
477 Relocation{R_PC, type, sr.off, -4, psec->patchSym}); in implementPatch()
508 ScanResult sr = scanCortexA8Errata657417(isec, off, limit); in patchInputSectionDescription() local
509 if (sr.off) in patchInputSectionDescription()
510 implementPatch(sr, isec, patches); in patchInputSectionDescription()