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
84 return d->kind() == InputSectionBase::Synthetic && d->name ==".text.patch";
91 // A label for the start of the Patch that we can use as a relocation target.
95 // True If the patch is to be written in ARM state, otherwise the patch will
139 : SyntheticSection(ctx, ".text.patch", SHT_PROGBITS,
181 // The base instruction of the patch is always a 32-bit unconditional branch.
198 // A BLX changes the state of the branch in the patch to Arm state, which
233 // Return true if a branch can reach a patch section placed after isec.
238 // We need the branch at source to reach a patch section placed immediately
239 // after isec. As there can be more than one patch in the patch section we
258 // return an offset of 0 for the branch. 0 is a safe value to use for no patch
260 // branch so the minimum offset for a patch is 4.
305 << isec->name << " is too large to patch";
399 // Merge all patch sections. We use the outSecOff assigned above to
415 // Given a branch instruction described by ScanRes redirect it to a patch
417 // Ensure that this patch section is 4-byte aligned so that the branch cannot
418 // span two 4 KiB regions. Place the patch section so that it is always after
428 // unconditional branch in the patch must have a relocation so that any
431 // the start of the patch section.
434 // a symbol that we can use as a target for a relocation in the patch section.
438 // Case 1. We have an existing relocation to redirect to patch and a
441 // Create a branch relocation for the unconditional branch in the patch.
448 // is ARM then we write the patch in ARM state to avoid a state change
449 // Thunk from the patch to the target.
457 // The patch will be in ARM state. Use an ARM relocation and account for
464 // Redirect the existing branch relocation to the patch.
469 // Case 2. We do not have a relocation to the patch. Add a relocation of the
470 // appropriate type to the patch at patcheeOffset.