-
Notifications
You must be signed in to change notification settings - Fork 67
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 targets for OpenHarmony #568
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 |
@rustbot second |
@rustbot label -final-comment-period +major-change-accepted |
Add support for OpenHarmony This PR adds support for [OpenHarmony](https://gitee.com/openharmony/docs/) targets: - `aarch64-linux-ohos` - `arm-linux-ohos` Compiler team MCP: rust-lang/compiler-team#568 OpenHarmony uses a fork of musl with minor modifications, so most of the code is shared with other musl targets. Additionally, although OpenHarmony uses musl 1.2, it is still ABI-compatible with musl 1.1 so the existing bindings should continue to work until #3068 is merged. A PR to add the targets to rustc will follow after this is merged.
Add OpenHarmony targets - `aarch64-unknown-linux-ohos` - `armv7-unknown-linux-ohos` Compiler team MCP: rust-lang/compiler-team#568
Add OpenHarmony targets - `aarch64-unknown-linux-ohos` - `armv7-unknown-linux-ohos` Compiler team MCP: rust-lang/compiler-team#568
Add x86_64-unknown-linux-ohos target This complements the existing `aarch64-unknown-linux-ohos` and `armv7-unknown-linux-ohos` targets. This should be covered by the existing MCP (rust-lang/compiler-team#568), but I can also create a new MCP if that is preferred.
Add x86_64-unknown-linux-ohos target This complements the existing `aarch64-unknown-linux-ohos` and `armv7-unknown-linux-ohos` targets. This should be covered by the existing MCP (rust-lang/compiler-team#568), but I can also create a new MCP if that is preferred.
OpenHarmony(alias ohos) is tie 3 supported target for rust. see rust-lang/compiler-team#568. In implementation it sits close to musl instead of bionic and napi instead jni when comparing with android. Below is copied from ohos sdk: ``` > ag iov_max openharmony/9/native/sysroot/usr/include openharmony/9/native/sysroot/usr/include/limits.h 50:#define IOV_MAX 1024 162:#define _XOPEN_IOV_MAX 16 openharmony/9/native/sysroot/usr/include/unistd.h 320:#define _SC_IOV_MAX 60 ```
OpenHarmony(alias ohos) is tie 3 supported target for rust. see rust-lang/compiler-team#568. In implementation it sits close to musl instead of bionic and napi instead jni when comparing with android.
OpenHarmony(alias ohos) is tie 3 supported target for rust. see rust-lang/compiler-team#568. In implementation it sits close to musl instead of bionic and napi instead jni when comparing with android. Below is copied from ohos sdk: ``` > ag iov_max openharmony/9/native/sysroot/usr/include openharmony/9/native/sysroot/usr/include/limits.h 50:#define IOV_MAX 1024 162:#define _XOPEN_IOV_MAX 16 openharmony/9/native/sysroot/usr/include/unistd.h 320:#define _SC_IOV_MAX 60 ```
OpenHarmony(alias ohos) is tie 3 supported target for rust. see rust-lang/compiler-team#568. In implementation it sits close to musl instead of bionic and napi instead jni when comparing with android. Tested with: - cargo build --target x86_64-unknown-linux-ohos --features acct,dir,env,fs - cargo build --target aarch64-unknown-linux-ohos --features acct,dir,env,fs
OpenHarmony(alias ohos) is tie 3 supported target for rust. see rust-lang/compiler-team#568. In implementation it sits close to musl instead of bionic and napi instead jni when comparing with android. Tested with: - cargo build --target x86_64-unknown-linux-ohos --features acct,dir,env,fs - cargo build --target aarch64-unknown-linux-ohos --features acct,dir,env,fs
Add x86_64-unknown-linux-ohos target This complements the existing `aarch64-unknown-linux-ohos` and `armv7-unknown-linux-ohos` targets. This should be covered by the existing MCP (rust-lang/compiler-team#568), but I can also create a new MCP if that is preferred.
Add x86_64-unknown-linux-ohos target This complements the existing `aarch64-unknown-linux-ohos` and `armv7-unknown-linux-ohos` targets. This should be covered by the existing MCP (rust-lang/compiler-team#568), but I can also create a new MCP if that is preferred.
Proposal
This MCP proposes to add two new tier 3 targets for OpenHarmony:
aarch64-linux-ohos
arm-linux-ohos
Tier 3 target requirements
The target name is consistent with the one used by OpenHarmony's C toolchain.
OpenHarmony is BSD-licensed and uses a Clang/musl-based toolchain. There are no legal issues.
Work on the OpenHarmony target is sponsored by Huawei.
This target will fully support std.
Initially this target will only be used for Rust code internal to the OpenHarmony project. After initial Rust support is in place, this will later be expanded to support external Rust code for applications running on OpenHarmony.
OK
All OpenHarmony-specific code is under
#[cfg(target_env = "ohos")]
.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: