target: add arm64e-apple-visionos#155715
Conversation
|
Some changes occurred in src/doc/rustc/src/platform-support cc @Noratrieb These commits modify compiler targets. |
|
r? @davidtwco rustbot has assigned @davidtwco. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
Please fill out the requirements for tier 3 targets from the target tier policy in the PR description. Also, did you use AI to create this PR? It stuck out to me that you placed |
|
I’m really sorry. I used Codex to create this PR and didn’t review it carefully enough before opening it. This PR incorrectly added a target maintainer without them agreeing to it. I’ll update the PR now. |
The original version of this PR incorrectly added a target maintainer without them agreeing to it. I used Codex to create that version and did not review it carefully enough before opening it. Correct the maintainer entry and update the Tier 3 target documentation.
This comment has been minimized.
This comment has been minimized.
Add the trailing newline required by tidy.
There was a problem hiding this comment.
I’m really sorry. I used Codex to create this PR and didn’t review it carefully enough before opening it. This PR incorrectly added a target maintainer without them agreeing to it. I’ll update the PR now.
That's okay, we all make mistakes, as long as you learn from them we're good ;).
Note that the Rust Project (welcome btw!) does not disallow LLM use, but we do require you to fully understand the work you're submitting. That goes for your other PRs as well - we have a limited amount of reviewer time available, so we need to make sure that this time is well spent.
I'd suggest you maybe go over those PRs as well with a bit finer comb, and maybe also make it clear to the reviewer that you've used AI to create them, and to what degree.
I hope that makes sense? Feel free to ask further questions if something is unclear!
The PR description also still needs to be updated with a description of how this target fulfills the the tier 3 target policy, similar to for example #148790 (though IMO that one is a bit brief). Could I also get you to remove the notice from the main PR description? And maybe clean it up a bit? It goes in the final merge commit, and it's not really relevant to the future.
Also, once you're done, could I get you to squash your changes?
|
|
||
| **Tier: 3** | ||
|
|
||
| Apple arm64e visionOS. |
There was a problem hiding this comment.
Nit:
| Apple arm64e visionOS. | |
| Apple ARM64e visionOS. |
| This target is cross-compiled and supports `std`. | ||
|
|
||
| This target requires the visionOS SDK provided by Xcode. | ||
|
|
||
| The deployment target can be configured with `XROS_DEPLOYMENT_TARGET`. |
There was a problem hiding this comment.
Could you refer to apple-visionos.md instead, similar to what's done in arm64e-apple-ios.md?
| [`arm64e-apple-darwin`](platform-support/arm64e-apple-darwin.md) | ✓ | ✓ | ARM64e Apple Darwin | ||
| [`arm64e-apple-ios`](platform-support/arm64e-apple-ios.md) | ✓ | | ARM64e Apple iOS | ||
| [`arm64e-apple-tvos`](platform-support/arm64e-apple-tvos.md) | ✓ | | ARM64e Apple tvOS | ||
| [`arm64e-apple-visionos`](platform-support/arm64e-apple-visionos.md) | ✓ | | arm64e Apple visionOS |
There was a problem hiding this comment.
Nit:
| [`arm64e-apple-visionos`](platform-support/arm64e-apple-visionos.md) | ✓ | | arm64e Apple visionOS | |
| [`arm64e-apple-visionos`](platform-support/arm64e-apple-visionos.md) | ✓ | | ARM64e Apple visionOS |
| const STAGE0_MISSING_TARGETS: &[&str] = &[ | ||
| // just a dummy comment so the list doesn't get onelined | ||
| ]; | ||
| const STAGE0_MISSING_TARGETS: &[&str] = &["arm64e-apple-visionos"]; |
There was a problem hiding this comment.
Nit: Don't remove the comment.
|
I’m converting this PR back to draft. This PR is target-spec plumbing, but its current std/program validation depends on #155716, which I’m re-checking separately. This PR also has issues of its own that I’m working on. |
|
This PR proposed adding the However, its current Given that dependency, I plan to close this PR for now. |
|
I’m closing this PR for now. Thank you for taking the time to review it, and sorry for sending an immature PR for review before I had fully checked it. |
Add the arm64e-apple-visionos Tier 3 target.
This adds the target specification, rustc platform-support documentation, target table entry, rustc book summary entry, Mach-O target coverage, and the temporary stage0 missing-target allowance for arm64e-apple-visionos.
Dependency on #155716
arm64e-apple-visionos is not fully usable with this PR alone. Full std and program validation for this target depends on #155716, which adds the Apple arm64e pointer-authentication/codegen support needed for arm64e Mach-O objects.
Validation
On this branch alone:
git diff --check main...HEAD
python3 x.py check compiler/rustc_target --stage 1
On a temporary local validation branch based on main@9836b06 and containing only this PR plus #155716:
git diff --check main...HEAD
python3 x.py test --stage 1 --force-rerun tests/assembly-llvm/targets/targets-macho.rs
python3 x.py build compiler/rustc library/std --stage 1 --target arm64e-apple-visionos
compiled and linked a minimal Rust program for arm64e-apple-visionos with Xcode XROS26.4.sdk
compiled a simple C object with Apple clang -target arm64e-apple-xros2.0 and linked it into a Rust program for this target
I used Codex to help draft the PR.