Lines Matching refs:instr

73   Patch657417Section(InputSection *p, uint64_t off, uint32_t instr, bool isARM);
93 uint32_t instr; member in elf::Patch657417Section
121 static bool isBcc(uint32_t instr) { in isBcc() argument
122 return (instr & 0xf800d000) == 0xf0008000 && in isBcc()
123 (instr & 0x03800000) != 0x03800000; in isBcc()
126 static bool isB(uint32_t instr) { return (instr & 0xf800d000) == 0xf0009000; } in isB() argument
128 static bool isBLX(uint32_t instr) { return (instr & 0xf800d000) == 0xf000c000; } in isBLX() argument
130 static bool isBL(uint32_t instr) { return (instr & 0xf800d000) == 0xf000d000; } in isBL() argument
132 static bool is32bitBranch(uint32_t instr) { in is32bitBranch() argument
133 return isBcc(instr) || isB(instr) || isBL(instr) || isBLX(instr); in is32bitBranch()
137 uint32_t instr, bool isARM) in Patch657417Section() argument
140 patchee(p), patcheeOffset(off), instr(instr), isARM(isARM) { in Patch657417Section()
154 static uint64_t getThumbDestAddr(uint64_t sourceAddr, uint32_t instr) { in getThumbDestAddr() argument
156 write16le(buf, instr >> 16); in getThumbDestAddr()
157 write16le(buf + 2, instr & 0x0000ffff); in getThumbDestAddr()
159 if (isBcc(instr)) in getThumbDestAddr()
161 else if (isB(instr)) in getThumbDestAddr()
172 if (isBLX(instr)) in getThumbDestAddr()
194 uint64_t s = getThumbDestAddr(getBranchAddr(), instr); in writeTo()
198 uint64_t pcBias = isBLX(instr) ? 8 : 4; in writeTo()
207 uint32_t instr, const Relocation *r) { in branchDestInFirstRegion() argument
221 destAddr = getThumbDestAddr(sourceAddr, instr); in branchDestInFirstRegion()
230 uint32_t instr) { in patchInRange() argument
237 isBcc(instr) ? R_ARM_THM_JUMP19 : R_ARM_THM_JUMP24, isec->getVA(off), in patchInRange()
245 uint32_t instr; member
294 scanRes.instr = instr2; in scanCortexA8Errata657417()
439 if (isBL(sr.instr) || isBLX(sr.instr)) { in implementPatch()
447 psec = make<Patch657417Section>(isec, sr.off, sr.instr, destIsARM); in implementPatch()
465 psec = make<Patch657417Section>(isec, sr.off, sr.instr, isBLX(sr.instr)); in implementPatch()
467 if (isBcc(sr.instr)) in implementPatch()
469 else if (isB(sr.instr)) in implementPatch()