Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#100244 - Lokathor:add-armv4t-none-eabi-take…
…2, r=jackh726 Add armv4t-none-eabi take2 This is the same as the previous PR (rust-lang#99226) but i just made a fresh branch without a merge commit in it. --- ### armv4t-none-eabi target quiz > A tier 3 target must have a designated developer or developers (the "target maintainers") on record to be CCed when issues arise regarding the target. That's me! > Targets must use naming consistent with any existing targets We're using the existing name as recognized by LLVM and GCC > Tier 3 targets may have unusual requirements to build or use, but must not create legal issues or impose onerous legal terms for the Rust project or for Rust developers or users. No legal issues here. >> The target must not introduce license incompatibilities. No license requirements here. >> Anything added to the Rust repository must be under the standard Rust license (MIT OR Apache-2.0). check >> The target must not cause the Rust tools or libraries built for any other host (even when supporting cross-compilation to the target) to depend on any new dependency less permissive than the Rust licensing policy. no new deps, we're just adding a rustc target description file for a target llvm already knows about. >> Compiling, linking, and emitting functional binaries, libraries, or other code for the target (whether hosted on the target itself or cross-compiling from another target) must not depend on proprietary (non-FOSS) libraries. bare-metal target, doesn't rely on any libs at all. > Tier 3 targets should attempt to implement as much of the standard libraries as possible and appropriate `core` only here. You could build `alloc` too, but you'd have to bring your own global allocator. > The target must provide documentation for the Rust community explaining how to build for the target, using cross-compilation if possible. LLVM knows how to do it, you just need the GNU Binutils linker because LLVM's linker doesn't work that far back. That's in the docs as part of this PR. > Tier 3 targets must not impose burden on the authors of pull requests, or other developers in the community, to maintain the target. No burdens, LLVM already knows how to do this. Further, because this is a cpu-feature variant of an existing tier3 target the `compiler-builtins` crate has already been updated as necessary to fix any missing builtin function gaps. > Patches adding or updating tier 3 targets must not break any existing tier 2 or tier 1 target, and must not knowingly break another tier 3 target without approval of either the compiler team or the maintainers of the other tier 3 target. check.
- Loading branch information