aarch64: add pauth-lr feature option
Introduces a new '+pauth-lr' feature option for AArch64, dependent on '+pauth', to control PAuth_LR instructions.
This patch adds a new compiler/assembler feature option, +pauth-lr, for the AArch64 architecture. This option is specifically designed to gate the use of FEAT_PAuth_LR instructions. It is dependent on the existing +pauth feature, meaning +pauth-lr can only be enabled if +pauth is also enabled. This mechanism allows developers to selectively enable or disable these security-related instructions.
In Details
This patch introduces a new CPU feature flag, +pauth-lr, to the AArch64 target configuration in binutils. This flag controls the availability of instructions associated with the FEAT_PAuth_LR extension. The +pauth-lr option is defined to implicitly depend on the +pauth feature, ensuring that the necessary base Pointer Authentication features are enabled before PAuth_LR specific instructions can be used. This is a standard practice for managing hardware feature extensions in toolchains. The change is made in gas/config/tc-aarch64.c, include/opcode/aarch64.h, and `opcodes/aarch64-tbl.…
- feature option
- A compiler or assembler flag (e.g.,
+pauth-lr) that enables or disables support for specific hardware features or instruction sets. - AArch64
- The 64-bit ARM architecture.
- FEAT_PAuth_LR
- A specific AArch64 hardware feature extension for Pointer Authentication of the Link Register.
- +pauth
- A feature flag indicating support for the base Pointer Authentication (PAuth) extension in AArch64.
- +pauth-lr
- A feature flag indicating support for the Pointer Authentication extension specifically for the Link Register (PAuth_LR) in AArch64. It depends on the +pauth feature.