reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/lld/ELF/ARMErrataFix.cpp
  406       utohexstr(isec->getVA(sr.off)) + " in unpatched output.");
  419   if (sr.rel) {
  426     int64_t patchRelAddend = sr.rel->addend;
  428     if (isBL(sr.instr) || isBLX(sr.instr)) {
  428     if (isBL(sr.instr) || isBLX(sr.instr)) {
  432       uint64_t dstSymAddr = (sr.rel->expr == R_PLT_PC) ? sr.rel->sym->getPltVA()
  432       uint64_t dstSymAddr = (sr.rel->expr == R_PLT_PC) ? sr.rel->sym->getPltVA()
  433                                                        : sr.rel->sym->getVA();
  436     psec = make<Patch657417Section>(isec, sr.off, sr.instr, destIsARM);
  436     psec = make<Patch657417Section>(isec, sr.off, sr.instr, destIsARM);
  444         Relocation{sr.rel->expr, patchRelType, 0, patchRelAddend, sr.rel->sym});
  444         Relocation{sr.rel->expr, patchRelType, 0, patchRelAddend, sr.rel->sym});
  446     sr.rel->expr = R_PC;
  447     sr.rel->addend = -4;
  448     sr.rel->sym = psec->patchSym;
  454     psec = make<Patch657417Section>(isec, sr.off, sr.instr, isBLX(sr.instr));
  454     psec = make<Patch657417Section>(isec, sr.off, sr.instr, isBLX(sr.instr));
  454     psec = make<Patch657417Section>(isec, sr.off, sr.instr, isBLX(sr.instr));
  456     if (isBcc(sr.instr))
  458     else if (isB(sr.instr))
  463         Relocation{R_PC, type, sr.off, -4, psec->patchSym});