Lines Matching full:patch
57 // erratum conditions to a patch section containing a branch to the target.
59 // As adding patch sections may move branches onto region boundaries the patch
83 return d->kind() == InputSectionBase::Synthetic && d->name ==".text.patch"; in classof()
90 // A label for the start of the Patch that we can use as a relocation target.
94 // True If the patch is to be written in ARM state, otherwise the patch will
139 ".text.patch"), in Patch657417Section()
178 // The base instruction of the patch is always a 32-bit unconditional branch. in writeTo()
195 // A BLX changes the state of the branch in the patch to Arm state, which in writeTo()
227 // Return true if a branch can reach a patch section placed after isec.
232 // We need the branch at source to reach a patch section placed immediately in patchInRange()
233 // after isec. As there can be more than one patch in the patch section we in patchInRange()
252 // return an offset of 0 for the branch. 0 is a safe value to use for no patch
254 // branch so the minimum offset for a patch is 4.
298 isec->name + " is too large to patch"); in scanCortexA8Errata657417()
392 // Merge all patch sections. We use the outSecOff assigned above to in insertPatches()
408 // Given a branch instruction described by ScanRes redirect it to a patch
410 // Ensure that this patch section is 4-byte aligned so that the branch cannot
411 // span two 4 KiB regions. Place the patch section so that it is always after
421 // unconditional branch in the patch must have a relocation so that any in implementPatch()
424 // the start of the patch section. in implementPatch()
427 // a symbol that we can use as a target for a relocation in the patch section. in implementPatch()
431 // Case 1. We have an existing relocation to redirect to patch and a in implementPatch()
434 // Create a branch relocation for the unconditional branch in the patch. in implementPatch()
441 // is ARM then we write the patch in ARM state to avoid a state change in implementPatch()
442 // Thunk from the patch to the target. in implementPatch()
449 // The patch will be in ARM state. Use an ARM relocation and account for in implementPatch()
456 // Redirect the existing branch relocation to the patch. in implementPatch()
461 // Case 2. We do not have a relocation to the patch. Add a relocation of the in implementPatch()
462 // appropriate type to the patch at patcheeOffset. in implementPatch()