-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
add m68k-unknown-none-elf target #135085
add m68k-unknown-none-elf target #135085
Conversation
rustbot has assigned @GuillaumeGomez. Use |
This comment has been minimized.
This comment has been minimized.
3de409d
to
96add89
Compare
Could not assign reviewer from: |
96add89
to
e60a654
Compare
This comment has been minimized.
This comment has been minimized.
e60a654
to
2287491
Compare
Some changes occurred in src/tools/compiletest cc @jieyouxu These commits modify compiler targets. Some changes occurred in src/doc/rustc/src/platform-support cc @Noratrieb |
This comment has been minimized.
This comment has been minimized.
@knickish Have you read and understand the terms of https://doc.rust-lang.org/nightly/rustc/target-tier-policy.html#tier-3-target-policy regarding target maintenance? Briefly put: The ticket is free because the ride ain't got no safeties, no brakes, and no complaining. |
@workingjubilee Yup, got it. Don't break anybody, and any higher tier target can break me. Should I just remove the endianness compiletest that seems to require the target to already be in the bootstrap compiler? |
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.
mostly typo nits, don't worry much about them, I just woke up in copyeditor mode today. mostly concerned about the ABI-related stuff and the consent.
$ qemu-m68k-static your-code | ||
``` | ||
|
||
For more complex applications, a chroot or native m68k system is required for testing. |
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.
thinks ...well, Amigas don't have USB, so how am I gonna get my program from a modern, made-in-2024 dev computer to the Amiga? ...hmm, I can still find a 5.25 bay, and I can get a floppy drive, I guess? I know there's some adapters that let you drive them via USB, too... hope it's less than 1.44MB...
anyways, that all is pretty squarely in Their Problem territory, but I do have one question that this thing should probably answer: would just copying the program to the floppy be sufficient, or should I do something else first?
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.
I'm pretty sure that just copying it should be sufficient. It's just linux on a different arch, so as long as you cross compile it should be good to go.
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.
hm, for the bare metal target?
but yeah sounds good then.
[target.m68k-unknown-none-elf] | ||
# there is no easily available non-linux m68k linker, so just use the linux one | ||
linker = "m68k-linux-gnu-ld" |
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.
Is this section necessary, given we already set this in the TargetOptions? Maybe this should just be
[target.m68k-unknown-none-elf] | |
# there is no easily available non-linux m68k linker, so just use the linux one | |
linker = "m68k-linux-gnu-ld" |
Co-authored-by: Jubilee <workingjubilee@gmail.com>
This comment has been minimized.
This comment has been minimized.
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.
then just waiting on affirmation from the other maintainers.
Co-authored-by: Jubilee <workingjubilee@gmail.com>
I've gone ahead and removed them, can add them back later if they want to be involved. |
Good enough for me! @bors r+ rollup |
Thanks for the review! |
…ingjubilee add m68k-unknown-none-elf target r? `@workingjubilee` The existing `m68k-unknown-linux-gnu` target builds `std` by default, requires atomics, and has a base cpu with an fpu. A smaller/more embedded target is desirable both to have a baseline target for the ISA, as well to make debugging easier for working on the llvm backend. Currently this target is using the `M68010` as the minimum CPU due, but as missing features are merged into the `M68k` llvm backend I am hoping to lower this further. I have been able to build very small crates using a toolchain built against this target (together with a later version of `object`) using the configuration described in the target platform-support documentation, although getting anything of substantial complexity to build quickly hits errors in the llvm backend
…iaskrgr Rollup of 4 pull requests Successful merges: - rust-lang#135085 (add m68k-unknown-none-elf target) - rust-lang#135111 (Add doc aliases for `libm` and IEEE names) - rust-lang#135129 (triagebot: label `src/doc/rustc-dev-guide` changes with `A-rustc-dev-guide`) - rust-lang#135132 (dev guide ping group and set adhoc reviewers to compiler) r? `@ghost` `@rustbot` modify labels: rollup
…iaskrgr Rollup of 4 pull requests Successful merges: - rust-lang#135085 (add m68k-unknown-none-elf target) - rust-lang#135111 (Add doc aliases for `libm` and IEEE names) - rust-lang#135129 (triagebot: label `src/doc/rustc-dev-guide` changes with `A-rustc-dev-guide`) - rust-lang#135132 (dev guide ping group and set adhoc reviewers to compiler) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 4 pull requests Successful merges: - rust-lang#135085 (add m68k-unknown-none-elf target) - rust-lang#135111 (Add doc aliases for `libm` and IEEE names) - rust-lang#135129 (triagebot: label `src/doc/rustc-dev-guide` changes with `A-rustc-dev-guide`) - rust-lang#135132 (dev guide ping group and set adhoc reviewers to compiler) r? `@ghost` `@rustbot` modify labels: rollup try-job: dist-aarch64-apple
☀️ Test successful - checks-actions |
r? @workingjubilee
The existing
m68k-unknown-linux-gnu
target buildsstd
by default, requires atomics, and has a base cpu with an fpu. A smaller/more embedded target is desirable both to have a baseline target for the ISA, as well to make debugging easier for working on the llvm backend. Currently this target is using theM68010
as the minimum CPU due, but as missing features are merged into theM68k
llvm backend I am hoping to lower this further.I have been able to build very small crates using a toolchain built against this target (together with a later version of
object
) using the configuration described in the target platform-support documentation, although getting anything of substantial complexity to build quickly hits errors in the llvm backend