Skip to content
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

riscv64gc-unknown-linux-gnu support #2313

Merged

Conversation

tblah
Copy link
Contributor

@tblah tblah commented Apr 28, 2020

Current status

rustup builds on riscv, tests pass*, and rustup can install toolchains for supported host architectures.

Tested on Debian using Qemu full system emulation.

To resolve WIP status

@tblah tblah mentioned this pull request Apr 28, 2020
Copy link
Contributor

@kinnison kinnison left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obviously I can't merge while effective-limits isn't released, and with that CI change, but the rest could go in immediately if you wanted to either split the PR up, or simplify it in the short term.

Cargo.toml Outdated
@@ -25,7 +25,7 @@ chrono = "0.4"
clap = "2"
download = { path = "download" }
error-chain = "0.12"
effective-limits = "0.4"
effective-limits = { git = "https://github.com/tblah/effective-limits.rs.git", rev = "5fc9ca2fcf7c698d585325d3aad4a8bbe20b4418" }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I take it that there needs to be a patch merged and a new release made for this?

@tblah tblah force-pushed the tomeccles/riscv64gc-unknown-linux-gnu-support branch 6 times, most recently from 01d668f to 2461c93 Compare April 29, 2020 12:14
@mati865
Copy link
Contributor

mati865 commented Apr 29, 2020

@tblah regarding your question in infra docker channel.

rustc -vV
rustc 1.41.0-dev
binary: rustc
commit-hash: unknown
commit-date: unknown
host: x86_64-unknown-linux-gnu
release: 1.41.0-dev
error: couldn't load codegen backend "/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so": "/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27\' not found (required by /usr/local/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so)"

^ this is not the Rust that you have installed with rustup.
Missing rustup default stable somewhere perhaps?

Cargo.toml Outdated
@@ -25,7 +25,7 @@ chrono = "0.4"
clap = "2"
download = { path = "download" }
error-chain = "0.12"
effective-limits = "0.4"
effective-limits = { git = "https://github.com/tblah/effective-limits.rs.git", rev = "4873a008d2b441b2d47ce01f62c6f5ec9c157df9" }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if bump libc, why not cargo update -p libc and remove this change.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The libc changes aren't in a released version yet so I think I have to tell cargo to fetch libc master branch instead of a release.

@tblah tblah force-pushed the tomeccles/riscv64gc-unknown-linux-gnu-support branch 2 times, most recently from 85134e7 to 8ee1957 Compare April 29, 2020 14:59
@tblah
Copy link
Contributor Author

tblah commented Apr 29, 2020

Thanks @mati865 it seems to work now that it is building using the stable tool-chain.

@tblah
Copy link
Contributor Author

tblah commented Apr 29, 2020

@kinnison sorry for the delay while I played with CI.

CI will only work with the effective-limits change, so is the next step to merge only 342642d and make a new WIP PR for CI?

@kinnison
Copy link
Contributor

As discussed on IRC, let's wait for the libc fix and then consider merging everything cleanly instead

Copy link
Contributor

@kinnison kinnison left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need to undo the effective-limits thing and instead update libc and friends when the releases are done. So let's not consider merging before then.

@tblah tblah force-pushed the tomeccles/riscv64gc-unknown-linux-gnu-support branch from 8ee1957 to 3bd9e54 Compare May 13, 2020 08:18
@tblah
Copy link
Contributor Author

tblah commented May 21, 2020

An update on the status of this:

The libc version bump landed a little while ago. The last piece of the puzzle is to bump the version of libc required by effective-limits so that rustup is forced to upgrade. I have a PR open for this.

@kinnison
Copy link
Contributor

Fantastic, I imagine @rbtcollins will get to that PR when he has a chance. I think we might be worried about something else with E-L on another issue, so hopefully that could be soon.

@kinnison
Copy link
Contributor

Once that's done, if you could also rebase so that we're good in terms of the CI etc, that'd be excellent.

@rbtcollins
Copy link
Contributor

effective-limits stuff has merged, so this should be cleanup-able now

@tblah tblah force-pushed the tomeccles/riscv64gc-unknown-linux-gnu-support branch from 28340a1 to 3a66beb Compare May 26, 2020 11:11
@tblah tblah changed the title WIP: riscv64gc-unknown-linux-gnu support riscv64gc-unknown-linux-gnu support May 26, 2020
@tblah
Copy link
Contributor Author

tblah commented May 26, 2020

Thanks @rbtcollins

@kinnison this should be ready for review

Copy link
Contributor

@kinnison kinnison left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fundamentally good stuff. I'm slightly worried that people might expect a released rustup with the shell script changes, but we can explain it's not there yet, so I'm okay with that change there. But I think we need a skip-stable in the action template, and then we'll need the workflows regenerating (as a separate commit)

ci/actions-templates/linux-builds-template.yaml Outdated Show resolved Hide resolved
Copy link
Contributor

@kinnison kinnison left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is getting very close. Could you please rebase to fold your two CI changes together; and then as a new commit add the result of running sh ci/actions-templates/gen-workflows.sh which will update the contents of the real workflows.

I'm okay if that results in failed CI on the PR for now, but I want to check things are updated properly (and not updated as appropriate for the stable build fr.ex)

skip-stable because we're not going to release this for now
@tblah tblah force-pushed the tomeccles/riscv64gc-unknown-linux-gnu-support branch from 67c2721 to 401800b Compare June 2, 2020 08:04
@tblah
Copy link
Contributor Author

tblah commented Jun 2, 2020

@kinnison I've done the rebase. Running ci/actions-templates/gen-workflows.sh doesn't change anything because riscv64gc-unknown-linux-gnu is skip-pr skip-master skip-stable (it is skipped in all cases)

@kinnison kinnison merged commit 67c051c into rust-lang:master Jun 2, 2020
@kinnison
Copy link
Contributor

kinnison commented Jun 2, 2020

Cool, let's hope your efforts to get riscv-linux to tier two complete soon, so we can consider a rustup release with it :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants