-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Mark all NuttX targets as tier 3 target and support the standard library #136037
base: master
Are you sure you want to change the base?
Conversation
rustbot has assigned @GuillaumeGomez. Use |
Could you update rust/compiler/rustc_target/src/spec/targets/armv7a_nuttx_eabi.rs Lines 30 to 35 in 814ebca
|
OK, I'll update the metadata later |
These commits modify compiler targets. |
@rustbot review |
rust/compiler/rustc_target/src/spec/targets/thumbv6m_nuttx_eabi.rs Lines 23 to 30 in 6edf283
Therefore, However, IIUC this platform provide atomic builtins, so this problem should be fixed by just removing (In practice, it would also be necessary to audit whether atomic builtins are implemented correctly (like #115577 (comment) and #115577 (comment)), but that is a separate issue since riscv32imc nuttx already uses it.) |
@rustbot author (see review above) |
Thanks for point that, after verification, there is indeed an issue with compiling the standard library on this platform. Following your suggestion, adopting a method similar to that used on the riscv32imc platform has not been able to pass the compilation:
At present, I am planning to keep the current status of the thumbv6m platform until it is able to function properly. @rustbot review |
Oh, perhaps |
Thank you!!! It works with: options: TargetOptions {
families: cvs!["unix"],
os: "nuttx".into(),
abi: "eabi".into(),
llvm_floatabi: Some(FloatAbi::Soft),
// The ARMv6-M architecture doesn't support unaligned loads/stores so we disable them
// with +strict-align.
// The ARMv6-M doesn't support hardware atomic operations, use atomic builtins instead.
features: "+strict-align".into(),
max_atomic_width: Some(32),
..base::thumb::opts()
}, |
Signed-off-by: Huang Qi <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! And thanks @taiki-e for the review
@bors r+ rollup |
Rollup of 8 pull requests Successful merges: - rust-lang#133631 (Support QNX 7.1 with `io-sock`+libstd and QNX 8.0 (`no_std` only)) - rust-lang#134358 (compiler: Set `target_abi = "ilp32e"` on all riscv32e targets) - rust-lang#135764 (Fix tests on LLVM 20) - rust-lang#135812 (Fix GDB `OsString` provider on Windows ) - rust-lang#135842 (TRPL: more backward-compatible Edition changes) - rust-lang#135946 (Remove extra whitespace from rustdoc breadcrumbs for copypasting) - rust-lang#135953 (ci.py: check the return code in `run-local`) - rust-lang#136019 (Add an `unchecked_div` alias to the `Div<NonZero<_>>` impls) Failed merges: - rust-lang#136037 (Mark all NuttX targets as tier 3 target and support the standard library) r? `@ghost` `@rustbot` modify labels: rollup
☔ The latest upstream changes (presumably #136087) made this pull request unmergeable. Please resolve the merge conflicts. |
The support for standard library added by #130595.