commit | 8979b328ad4d0f38fc6a60b4d6115edcd9091d6c | [log] [tgz] |
---|---|---|
author | Ties Stuij <ties.stuij@arm.com> | Mon Dec 06 11:00:10 2021 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Dec 06 03:11:03 2021 -0800 |
tree | 9300e072736fd4fb96a62d3f1cde3b55e38fd500 | |
parent | 4db92934dee4150a6a15de9240cb318685250597 [diff] |
[ARM] Implement setjmp BTI placement for PACBTI-M This patch intends to guard indirect branches performed by longjmp by inserting BTI instructions after calls to setjmp. Calls with 'returns-twice' are lowered to a new pseudo-instruction named t2CALL_BTI that is later expanded to a bundle of {tBL,t2BTI}. This patch is part of a series that adds support for the PACBTI-M extension of the Armv8.1-M architecture, as detailed here: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension The PACBTI-M specification can be found in the Armv8-M Architecture Reference Manual: https://developer.arm.com/documentation/ddi0553/latest The following people contributed to this patch: - Alexandros Lamprineas - Ties Stuij Reviewed By: labrinea Differential Revision: https://reviews.llvm.org/D112427 GitOrigin-RevId: 0fbb17458a01a6b388fc67661ffb92969503e977