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

Rustup #2673

Closed
wants to merge 39 commits into from
Closed

Rustup #2673

wants to merge 39 commits into from

Conversation

RalfJung
Copy link
Member

This is unfortunately duplicating some Miri commits. When producing rust-lang/rust#104456, josh did something odd in rust-lang/rust@46d0df4 and added a rust-version file change. I have adjusted the way we update the rust-version file in rustc-pull and hope this will not happen again...

RalfJung and others added 30 commits November 5, 2022 15:21
Implement condvars for Windows

Adds 3 shims for Windows: `SleepConditionVariableSRW`, `WakeConditionVariable`, `WakeAllConditionVariable` to add support for condvars (which fixes rust-lang#2628).

Salvaged from what was removed from rust-lang#2231
README: Add macos cache deletion command
pthread: slight refactoring of how we access the sync object fields
Add miri_alloc, miri_dealloc

`miri_alloc` and `miri_dealloc` are basically the same as `__rust_alloc` and `__rust_dealloc` respectively, but without the check for a global allocator.

This should allow bootstrapping an allocator in environments, where no fundamental way of allocating memory is available (`no_std` + `alloc` in Miri).
update josh instructions

josh-project/josh#965 and josh-project/josh#994 have been merged so we don't need a forked josh any more. :)

However, this is blocked on josh-project/josh#1032 which currently prevents me from actually testing this...
adjust josh pushing, remove './miri toolchain HEAD/commit'

Looks like pushing works much better if we use as base commit the last commit we pulled from rustc and merged into Miri. Which I guess is fair. Conveniently, the `rust-version` file should usually be pretty much exactly that commit. Also adjust `rustc-pull` to update that file.

Pulling is now the way to update to a newer rustc, so I also removed `./miri toolchain HEAD`.
use josh feature to fetch a specific commit
clean up retagging recursive traversal a bit

The last refactor left some strange things behind -- no need to have `qualify` be a separate function, really.
@RalfJung
Copy link
Member Author

Of course pushing this back to rustc fails again due to josh-project/josh#998.

I really don't have the time to debug something every single pull/push... so I am beginning to wonder if josh might just not be ready yet for our needs. :/

@RalfJung
Copy link
Member Author

And even if I get it to push, re-pulling does not do a proper roundtrip...

@RalfJung
Copy link
Member Author

We might have to do a force-push to Miri again. :/ Basically, trying to get our current Miri master into rustc via josh, then re-fetching that and force-pushing Miri to that.

RalfJung and others added 2 commits November 17, 2022 11:12
change handling of rust-version file in rustc-pull, and add a sanity check in rustc-push
@RalfJung
Copy link
Member Author

RalfJung commented Nov 17, 2022

I have identified the source of the non-roundtrip -- it's 218f60e. I don't think we can fix this without a force push, unfortunately.

#2674 adjusts the script to

  • not create the problematic kind of merge commit any more
  • check that the created josh push round-trips, so we can avoid merging things into rustc that we cannot sync back to Miri

So at least next time this happens we should get a warning before things are in rustc history forever, which should let us avoid further force-pushes.

@RalfJung RalfJung mentioned this pull request Nov 17, 2022
@RalfJung
Copy link
Member Author

This branch has identical content to #2675, so we use it as CI proxy. (The other PR has conflicts so CI is not even started.)

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