Add support for aarch64-unknown-linux-pauthtest target#5065
Add support for aarch64-unknown-linux-pauthtest target#5065jchlanda wants to merge 1 commit intorust-lang:mainfrom
aarch64-unknown-linux-pauthtest target#5065Conversation
`aarch64-unknown-linux-pauthtest`, a target that enables Pointer Authentication Code (PAC) support in Rust on AArch64 ELF based Linux systems using a `pauthtest` ABI (provided by LLVM) and pauthtest-enabled sysroot with custom [musl](https://github.com/access-softek/musl), serving as a reference libc implementation.
|
Based on the todo it seems like you may already be aware, but targets need to be added to rustc first as no-std. After that happens you can bring up libc, then std. How much does the fork deviate from musl? If it’s identical but built differently, it may be worth considering setting ‘target_env=“musl” |
I knew about the need for patches to
The API surface should be identical. However they are most definitely not interchangeable. Another deviation is that for the new target statically linked libc is not an option, so perhaps it would be good to keep the distinction clear also at the cfg checks? |
|
Rust PR for reference https://github.com/rust-lang/rust/pulls/jchlanda |
Yes, but I think that flag only controls
I don't know the exact details about pauthtest but I still think what I described sounds like a reasonable enough fit. If it looks like musl for ~95% of the API then it's going to be easiest to call it But that's just my thoughts, the others may feel differently. Probably worth a Zulip discussion at some point.
You'd still be able to On that note, are there other |
Description
This PR adds support for
aarch64-unknown-linux-pauthtest, a target thatenables Pointer Authentication Code (PAC) support in Rust on AArch64 ELF based
Linux systems using a
pauthtestABI (provided by LLVM) and pauthtest-enabledsysroot with custom musl, serving as a reference libc implementation.
Please consult a rust-lang PR for the details on the target: rust-lang/rust#155722
Sources
This target reuses the existing musl implementation paths in libc and does not
introduce new platform-specific APIs.
aarch64-unknown-linux-pauthtestshouldbe treated as musl-compatible.
Checklist
libc-test/semverhave been updated - N/A (no semver-affecting API changes)*LASTor*MAXareincluded (see #3131)
cd libc-test && cargo test --target mytarget);@rustbot label +stable-nominated