Skip to content

arch: arm: add compiler flags for PACBTI #90064

New issue

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

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

Already on GitHub? Sign in 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 [email protected]

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 <[email protected]>
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 <[email protected]>
Update PACBTI support for architecture variants in the features table
and add a new section introducing PACBTI support/limitations.

Signed-off-by: Sudan Landge <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: ARM ARM (32-bit) Architecture
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant