-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Tier-3 target proposal: powerpc64-ibm-aix #553
Comments
This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed. cc @rust-lang/compiler @rust-lang/compiler-contributors |
Great news! |
@rustbot second |
@rustbot label -final-comment-period +major-change-accepted |
Add powerpc64-ibm-aix as Tier-3 target This is part of the effort mentioned in rust-lang/compiler-team#553. A reference to these options are definitions from [clang](https://github.com/llvm/llvm-project/blob/ad6fe32032a6229e0c40510e9bed419a01c695b3/clang/lib/Basic/Targets/PPC.h#L414-L448) and [llvm](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp). AIX has a system `ld` but [its options and behaviors](https://www.ibm.com/docs/en/aix/7.3?topic=l-ld-command) are different from GNU ld. Thanks to `@bzEq` for contributing the linking args.
Add powerpc64-ibm-aix as Tier-3 target This is part of the effort mentioned in rust-lang/compiler-team#553. A reference to these options are definitions from [clang](https://github.com/llvm/llvm-project/blob/ad6fe32032a6229e0c40510e9bed419a01c695b3/clang/lib/Basic/Targets/PPC.h#L414-L448) and [llvm](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp). AIX has a system `ld` but [its options and behaviors](https://www.ibm.com/docs/en/aix/7.3?topic=l-ld-command) are different from GNU ld. Thanks to ``@bzEq`` for contributing the linking args.
Add powerpc64-ibm-aix as Tier-3 target This is part of the effort mentioned in rust-lang/compiler-team#553. A reference to these options are definitions from [clang](https://github.com/llvm/llvm-project/blob/ad6fe32032a6229e0c40510e9bed419a01c695b3/clang/lib/Basic/Targets/PPC.h#L414-L448) and [llvm](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp). AIX has a system `ld` but [its options and behaviors](https://www.ibm.com/docs/en/aix/7.3?topic=l-ld-command) are different from GNU ld. Thanks to ```@bzEq``` for contributing the linking args.
Proposal
This compiler MCP proposes a new target,
powerpc64-ibm-aix
, for 64-bit PowerPC binaries on AIX operating system, using XCOFF as binary format. This target will finally be able to bootstrap native host libraries and tools, certainly including std, rustc, cargo, etc.Both AIX OS and XCOFF format are new to Rust toolchain. So the plan is to introduce AIX target spec first, then add AIX support to libc and other dependent crates, and finally make changes to rustc itself.
The longer time plan is to make it a Tier-2 target, but now we need a lot to make it ready and runnable, so here we start from Tier-3.
Regarding the requirements for Tier-3 target
powerpc64-ibm-aix
uses consistent naming, its arch is same with 64-bit big-endian PowerPC Linux target:powerpc64-unknown-linux-gnu
. The vendor name isibm
and operating system name isaix
. This name should not introduce any confusion or ambiguity.powerpc64-ibm-aix
target will not create legal issues or impose new legal terms for Rust project or developer or users.The new target will NOT introduce license incompatibilities.
Future code changes regarding supporting
powerpc64-ibm-aix
will be under Rust license, aka. MIT OR Apache-2.0.This target will NOT add new dependencies or new license exceptions.
The target's host tool relies on AIX system runtime. For code generation and optimization, it only uses LLVM library. There is no proprietary libraries dependency.
Understand.
We work for IBM, no IBM employee is in the judging Rust team. We’re also not part of any team affecting the approval decision.
We will implement all essential libraries including core and std. We understand the guidance for unimplemented portion in Tier-3 target.
Process to build for
powerpc64-ibm-aix
will be almost the same as other targets. We will provide documentation on cross-compilation, testing, and more information for the target.Understand.
Yes. Most of the changes should only affect cases when OS is AIX. These will not affect other targets.
Mentors or Reviewers
Process
The main points of the Major Change Process are as follows:
@rustbot second
.-C flag
, then full team check-off is required.@rfcbot fcp merge
on either the MCP or the PR.You can read more about Major Change Proposals on forge.
Comments
This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.
The text was updated successfully, but these errors were encountered: