llvm-project
493529fb - Re-land: [ARM] Fix frame chains with M-profile PACBTI (#110285)

Commit
1 year ago
Re-land: [ARM] Fix frame chains with M-profile PACBTI (#110285) When using AAPCS-compliant frame chains with PACBTI return address signing, there ware a number of bugs in the generation of the frame pointer and function prologues. The most obvious was that we sometimes would modify r11 before pushing it to the stack, so it wasn't preserved as required by the PCS. We also sometimes did not push R11 and LR adjacent to one another on the stack, or used R11 as a frame pointer without pointing it at the saved value of R11, both of which are required to have an AAPCS compliant frame chain. The original work of this patch was done by James Westwood, reviewed as #82801 and #81249, with some tidy-ups done by Mark Murray and myself.
Author
Committer
Parents
Loading