Skip to content

miri subtree update#155553

Open
RalfJung wants to merge 41 commits intorust-lang:mainfrom
RalfJung:miri
Open

miri subtree update#155553
RalfJung wants to merge 41 commits intorust-lang:mainfrom
RalfJung:miri

Conversation

@RalfJung
Copy link
Copy Markdown
Member

Subtree update of miri to rust-lang/miri@16dd940.

Created using https://github.com/rust-lang/josh-sync.

r? @ghost

michaliskok and others added 30 commits April 12, 2026 12:48
The "ExecutionGraph" GenMC folder has been renamed to "Execution",
and there is a GenMC class named ExecutionState.

This commit adjust the include paths in some cpp files, and renames
an enum in lib.rs (ExecutionState->ExecutionStatus).
The new parameter allows to step the event index by an arbitrary
amount. The functions now return void.

This is a preparatory commit that lays the ground before adjusting
all API calls to match the new GenMC API. The code does not
compile.
Another preparatory commit before API adjustment.
This commit adds a new result type for malloc (preparatory).
In the newer GenMC version, two RMWs might read from the same
write during an exploration. In such a case, the exploration
has to be dropped so that an alternative one can be explored.

Miri did not provide a way to completely stop an execution
without throwing an error. This commit adds a new TerminationInfo
case in diagnostics that is used by GenMC to signal that an
execution should be aborted.

On the API side, a new result field is introduced.
…ocking

Add support for non-blocking TCP sockets and operations
  - Fixes API calls to existing GenMC functions, which now
  return the number by which event_count should be increased
  - Properly handles "Invalid" results (where applicable)
  - Introduces handle_non_atomic_{store,load} in Miri and
  ensures they call their GenMC counterparts.
  - Adds NA handlers in Miri's GenmcCtx, and renames the previous
  handle_{load,store} to handle_atomic_{load,store}.
  - Removes handle_load_reset_if_none, the only purpose of which
  was to decrease the event counter.
  - Removes dec_pos(), which is now also unnecessary.
BUG_ON() no longer exists in GenMC.
GenMC no longer relies on interpreter callbacks. It collects
all information it needs for both exploration and error-reporting
dynamically.
Necessary for GenMC to build. Makes exploration much faster
since NAs are not explicitly tracked.
The difference is caused by the different order in which GenMC
explores executions, and the new error-detection mechanism.
GenMC: Fixes and improved non-atomic handling
GenMC is now able to handle larger and mixed-size non-atomic
accesses.
GenMC: Don't split up non-atomic accesses to smaller chunks
Bumps [rand](https://github.com/rust-random/rand) from 0.9.2 to 0.9.3.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/0.9.3/CHANGELOG.md)
- [Commits](rust-random/rand@rand_core-0.9.2...0.9.3)

---
updated-dependencies:
- dependency-name: rand
  dependency-version: 0.9.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…d-0.9.3

build(deps): bump rand from 0.9.2 to 0.9.3
genmc tests: add -Zmiri-genmc by default
Add shims for `fcntl` and `ioctl` to change socket blocking mode.
…n-blocking

Allow changing socket blocking state
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Apr 20, 2026

The Miri subtree was changed

cc @rust-lang/miri

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 20, 2026
@RalfJung
Copy link
Copy Markdown
Member Author

@bors r+

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors bot commented Apr 20, 2026

📌 Commit ecd6316 has been approved by RalfJung

It is now in the queue for this repository.

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants