Skip to content

arch: arm: add compiler flags for PACBTI #90064

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

wearyzen
Copy link
Collaborator

What is the change?

Introduce a Kconfig choice to select Pointer Authentication and Branch
Target Identification (PACBTI) features on Armv8.1-M Mainline.
The available options map to supported -mbranch-protection levels
(standard, pac-ret, bti, and combinations) documented at
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html and works on
targets like Cortex-M85, and require a toolchain with PACBTI support, such
as GCC 14.2 or newer.

Why do we need this change?

These options enable hardware-assisted control-flow integrity mechanisms to mitigate return oriented programming and jump oriented programming.

Signed-off-by: Sudan Landge sudan.landge@arm.com

Introduce a Kconfig choice to select Pointer Authentication and Branch
Target Identification (PACBTI) features on Armv8.1-M Mainline CPUs.
The available options map to supported `-mbranch-protection` levels
(`standard`, `pac-ret`, `bti`, and combinations) documented at
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
These options enable hardware-assisted control-flow integrity mechanisms on
targets like Cortex-M85, and require a toolchain with PACBTI support, such
as GCC 14.2 or newer.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Add Cortex-M85 under the Arm v8.1-M architecture variant column.
Cortex-M85 shares feature support with Cortex-M55, including Privileged
Execute Never (PXN), and additionally introduces Pointer Authentication
and Branch Target Identification (PACBTI) extensions.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Update PACBTI support for architecture variants in the features table
and add a new section introducing PACBTI support/limitations.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
area: ARM ARM (32-bit) Architecture
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant