ARMv6K Nintendo 3DS Tier 3 target added #88529
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @jackh726 (or someone else) soon. Please see the contribution instructions for more information. |
|
Please copy the list of T3 target requirements and confirm this target satisfies each point. |
A proposed target or target-specific patch that substantially changes code shared with other targets (not just target-specific code) must be reviewed and approved by the appropriate team for that shared code before acceptance.
I will take responsibilty of updating the target and everything related in case of issues with it as long as I can.
The target name (
What I included in the target specification is only a communication to open-source and license compatible tools, derivatives of GCC and Newlib. No closed source binary/library or other sort of project is linked in any way from this target specification.
I understand.
Though
Tests aren't possible in any capacity, but (with the cited devkitARM toolchain installed properly on the host system), cross-compilation is the same as any other
I understand and, as already said, will provide support in case of issues with the target as long as I can.
No other code has been modified or deleted other than the specification of the new target, everything works as expected.
I understand and will try to be present in case of any decision made by the Rust maintainers regarding this target implementation. Every point is satisfied. |
@rustbot label: +A-target-specs |
r? @nagisa |
); | ||
|
||
Target { | ||
llvm_target: "arm-none-eabihf".to_string(), |
Should this be using armv6k-none-eabihf
instead?
I noticed no difference, but I changed it anyways to avoid confusion.
Is LGTM r=me pending resolution to the comments inline. |
The Nintendo 3DS has had multiple out-of-tree projects porting parts or all of the standard library. The 3DS is a system not very powerful, but with many features, and supports most of what would be the normal |
@bors r+ |
|
|
Finished benchmarking commit (61a1029): comparison url. Summary: This benchmark run did not return any relevant changes. If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression |
@nagisa @Meziu Just a quick note: if anyone starts work on any bindings to library functions - some companies consider the interfaces to any of their libraries a trade secret and under NDA (even if they are standard interfaces!) and console vendors are a particular case there. This is a grey area we definitely should not move in. Please note that even if we use one of the open SDKs, this grey area still exists, because the interpretation is up to the vendor. For SDKs, thats just an area they are deliberately in, but for the |
It'd be nice to put a note to that effect into https://github.com/rust-lang/rust/tree/master/src/doc/rustc/src/platform-support for this target, I think. I'm a little surprised to not see a doc created there with at least the listing of target maintainers - @nagisa I think it would be good to add those when we add targets, even if they start out mostly empty. |
I understand exactly what you mean. I’ve never heard of any problems regarding the use of open SDKs (especially for what is now an out-of-production console) but it’s true that doesn’t exclude problems in the future, especially when dealing with the Rust project as a whole. I will think about what actions to take when implementing libc, and will consult legal advice before doing so. |
Addition of the target specifications to build .elf files for Nintendo 3DS (ARMv6K, Horizon). Requires devkitARM 3DS toolkit for system libraries and arm-none-eabi-gcc linker.
The text was updated successfully, but these errors were encountered: