Add support for aarch64-unknown-linux-pauthtest target#5065
Conversation
|
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 |
78bdcde to
6ef2175
Compare
|
Moving to Although the parent change (introduction of aarch64-unknown-linux-pauthtest) has not landed yet, it seems this should not prevent this PR from being marked as ready for review. |
|
@davidtwco, @folkertdev, @tgross35, @madsmtm FWI this is a follow up to rust-lang/rust#155722 |
|
@rustbot blocked, until rust-lang/rust#155722 goes through |
This comment has been minimized.
This comment has been minimized.
6ef2175 to
a5ae5de
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Hi @tgross35 The PR introducing the pauthtest target has been merged into main. I'd be very grateful if we could move this one forward as well. Please let me know if you'd like anything else done for this PR. Thank you! |
There was a problem hiding this comment.
You'll need to update
Line 41 in 03ff348
|
Reminder, once the PR becomes ready for a review, use |
| // `target_abi` is an unstable feature and can not be used directly in `cfg` expressions, for | ||
| // `pauthtest` translate it to `libc_pauthtest`. |
There was a problem hiding this comment.
Add // FIXME(msrv) and note this is 1.78:
1036dda to
afa243b
Compare
|
Please not, the failure: https://github.com/rust-lang/libc/actions/runs/28580626120/job/84739740809?pr=5065#step:9:2195 |
|
Latest nightly added a lint warning on |
I've addressed it in here: #5240 |
This is based on a fork of Musl libc, maintained by Access Softek. Please see: https://github.com/access-softek/musl for details.
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
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