Add support for aarch64-unknown-linux-pauthtest target#1713
Conversation
dd545ad to
a3a9344
Compare
aarch64-unknown-linux-pauthtest target
|
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 |
NobodyXu
left a comment
There was a problem hiding this comment.
Thanks lgtm, just waiting for others to double check
|
Hi all (@davidtwco, @folkertdev, @tgross35, @madsmtm, @bjorn3), 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. Thank you! |
|
@NobodyXu, would you be able to suggest any reviewers for this PR, or help move it forward? Now that the library PR has been earmarked for merging, this will be the last missing piece for pauthtest. Thank you! |
NobodyXu
left a comment
There was a problem hiding this comment.
Hello!
I'm willing to merge it if you rebase and addressed my two comments, given that there's no objection and rust already has it, delaying this PR adds no value, even if I don't have the knowledge to check every detail, merging it is better than not
`cc-rs` only builds static libraries, while `pauthtest` requires shared objects.
NobodyXu
left a comment
There was a problem hiding this comment.
Thank you, LGTM, would merge in this PR
Scheduled release is around this Friday, however I can cut an early release as we also have a nightly/1.95 deprecation fix (by ignoring the deprecation)
This PR adds support for
aarch64-unknown-linux-pauthtest, a target that enables Pointer Authentication Code (PAC) support in Rust on AArch64 ELF based Linux systems. It uses theaarch64-unknown-linux-pauthtestLLVM target and a pointer-authentication-enabled sysroot with a custom musl as a reference libc implementation. Dynamic linking is required, with a dynamic linker acting as the ELF interpreter that can resolve pauth relocations and enforce pointer authentication constraints.Please note, that while
cc-rsis able to compile c/c++ sources and link against the target binary successfully this is not sufficient foraarch64-unknown-linux-pauthtest. The target has a hard requirement on shared objects and dynamic linker must be used. This seems to be incompatible with the current state ofcc-rs.Please consult a rust-lang PR for the details on the target: rust-lang/rust#155722