-
Notifications
You must be signed in to change notification settings - Fork 73
Expose target_abi = "pauthtest" #1033
Copy link
Copy link
Open
Labels
T-compilerAdd this label so rfcbot knows to poll the compiler teamAdd this label so rfcbot knows to poll the compiler teammajor-changeA proposal to make a major change to rustcA proposal to make a major change to rustcto-announceAnnounce this issue on triage meetingAnnounce this issue on triage meeting
Description
Activity
Metadata
Metadata
Assignees
Labels
T-compilerAdd this label so rfcbot knows to poll the compiler teamAdd this label so rfcbot knows to poll the compiler teammajor-changeA proposal to make a major change to rustcA proposal to make a major change to rustcto-announceAnnounce this issue on triage meetingAnnounce this issue on triage meeting
Proposal
I propose adding
Pauthtest = "pauthtest"as a possible value ofCfgAbi, exposingcfg(target_abi = "pauthtest")for the AArch64 Linux pauthtest target. This makespauthtesta distinct ABI configuration within rustc rather than merely another name for the default AArch64 ABI.This MCP is being filed retroactively (apologies), following review feedback on the PR that introduced the target. The PR also added the corresponding
LlvmAbi::Pauthtestvalue.The target adds support for pointer authentication on AArch64 Linux ELF systems using a musl-based C standard library, using LLVM's
aarch64-unknown-linux-pauthtesttarget triple.The proposed
pauthtestvalue is useful for gating target-specific pointer-authentication behavior based on the ABI. For example, the pointer authentication implementation uses the ABI to gate code responsible for creating signing schemas. The new ABI value also couples the Rust-visible ABI with the corresponding LLVM ABI, as enforced by the consistency checks.The name
pauthtestis consistent with LLVM's existing terminology.Mentors or Reviewers
If you have a reviewer or mentor in mind for this work, mention them here. You can put your own name here if you are planning to mentor the work.
Process
The main points of the Major Change Process are as follows:
@rustbot secondor kickoff a team FCP with@rfcbot fcp $RESOLUTION.You can read more about Major Change Proposals on forge.